2009-06-22 13 views
14

ho il seguente codice di mettere tutti i miei utenti da un campo MultiChoice in una listaDjango ORM: filtro da un elenco di oggetti

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

ho bisogno di usare Log.objects.filter() per ottenere tutti i tronchi con un utente = ad un utente negli utenti lista

risposta

47

Utilizzare la __in ricerca:

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

in realtà, basta Log.objects.filter (user__in = User.objects.filter (groups__name = 'accountexec" '))". Django lo trasformerà in una singola query + sottoquery. –

+2

Abbiamo preso la libertà di migliorare la query suggerita secondo il suggerimento di James, spero che sia OK. –

Problemi correlati