Ho un modello:filtro Django ManyToMany()
class Zone(models.Model):
name = models.CharField(max_length=128)
users = models.ManyToManyField(User, related_name='zones', null=True, blank=True)
e ho bisogno di contruct un filtro lungo le linee di:
u = User.objects.filter(...zones contains a particular zone...)
deve essere un filtro su Utente e ha essere un parametro di filtro singolo. La ragione di questo è che sto costruendo un URL querystring per filtrare l'elenco degli utenti amministratore: http://myserver/admin/auth/user/?zones=3
Sembra che dovrebbe essere semplice ma il mio cervello non sta collaborando!
non sono sicuro se ho te in questo - non è 'User.objects.filter (zones__id =)' o 'User.objects.filter (zones__in = ) 'buono per questo? –
Va bene :) BTW 'User.objects.filter (zones__in =)' dovrebbe probabilmente essere 'User.objects.filter (zones__id__in = )' –
Volevo solo far notare a chiunque usi Google questo, che funziona solo se related_name è impostato. zone_set non funzionerebbe, per esempio. Ho sprecato una buona mezz'ora su questo :-) –