2009-06-22 19 views
14

tengo el siguiente código para poner todos mis usuarios de un campo de opción múltiple en una listaORM de Django: filtro de una lista de objetos

USERS = [] 
for user in User.objects.filter(groups__name='accountexec'): 
    USERS.append((user.id,user)) 

tengo que usar Log.objects.filter() para obtener toda los registros con un usuario = a un usuario en la lista de usuarios

Respuesta

47

uso del __in de búsqueda:

Log.objects.filter(user__in=User.objects.filter(groups__name='accountexec')) 
+5

en realidad, solo Log.objects.filter (user__in = User.objects.filter (groups__name = 'AccountExec" ')) ". Django convertirá eso en una sola consulta + subconsulta. –

+2

Se tomó la libertad de mejorar la consulta sugerida de acuerdo con la sugerencia de James, espero que esté bien. –

Cuestiones relacionadas