Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2013, 07:44
ellgon
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
Join simple con Django

Buenas tardes a todos, estoy siguiendo el tutorial que hay en la web de django y me surge una duda al hacer la siguiente query con QuerySets:

select *
from poll p,
choice c
where p.id = c.poll_id

Con la siguiente linea de código:

Poll.objects.filter(id__in = Choice.objects.values_list('poll_id'))

consigo los resultados deseados, pero acostumbrado a SQL me parece poco eficiente ¿Hay alguna otra forma mejor de obtener resultados?

Edito:
Antes lo digo, antes encuentro una posible solución:

Poll.objects.filter(choice__id__isnull = False).distinct()

Sigo sin saber si es lo más óptimo, pero desde luego parece mejor que mi primera opción.

Última edición por ellgon; 03/09/2013 a las 07:49 Razón: Posible solución