2012-03-20 5 views
5

Estoy usando django-taggit para crear una aplicación que almacene no solo elementos de tareas pendientes sino también elementos informativos. Se pueden etiquetar tanto elementos de tareas pendientes como elementos informativos.Obtiene objetos para los que existe un tipo de clave externa

Cuando me tire una lista de etiquetas para los elementos de tareas, corro la siguiente consulta:

action_tags = Tag.objects.order_by('name').filter(action__complete=False).annotate(action_count=Count('action')) 

Esto me da el nombre de todas las etiquetas para las cuales no están incompletas a-dos. También me da la cuenta de tareas pendientes incompletas.

Para los elementos informativos, no hay campo para "completo"; los elementos de información simplemente "son". Así que quiero escribir una consulta que extraiga todas las etiquetas para las cuales hay al menos un elemento informativo. ¿Cómo podría escribirse eso?

Respuesta

6

Creo que este es el camino, asumiendo es la clave externa que desea verificar existe:

tags = Tag.objects.filter(
    info_item__isnull=False 
).order_by(
    'name' 
).annotate(
    info_item_count=Count('info_item') 
) 
+0

Gracias. revisado a info_item__name__isnull = False –

Cuestiones relacionadas