내가 모델이 있습니다장고 ManyToMany 필터()
class Zone(models.Model):
name = models.CharField(max_length=128)
users = models.ManyToManyField(User, related_name='zones', null=True, blank=True)
를 그리고 난의 라인을 따라 필터를 contruct해야합니다
u = User.objects.filter(...zones contains a particular zone...)
그것은 사용자의 필터이어야하고있다 단일 필터 매개 변수가됩니다. 그 이유는 admin 사용자 변경 목록을 필터링하기 위해 URL 쿼리 문자열을 구성하기 때문입니다. http://myserver/admin/auth/user/?zones=3
그것은 단순해야하지만 내 두뇌가 협조하지 않는 것처럼 보입니다!
내가 얻을 수 있는지 확실하지 않습니다 당신이 바로 - 아니다'User.objects.filter (zones__id =)'또는'User.objects.filter (zones__in = )'이것에 좋습니까? –
괜찮아요 :) BTW'User.objects.filter (zones__in =)'User.objects.filter (zones__id__in = ) 여야합니다. –
단지 이것을 알아내는 사람에게 지적하고 싶습니다. related_name 일 때만 작동합니다. 설정됩니다. 예를 들어 zone_set이 작동하지 않습니다. 좋은 반 시간 낭비 :-) –