我有一個模型:Django的多對多過濾器()
class Zone(models.Model):
name = models.CharField(max_length=128)
users = models.ManyToManyField(User, related_name='zones', null=True, blank=True)
我需要去構造線沿線的一個過濾器:
u = User.objects.filter(...zones contains a particular zone...)
它必須是對用戶的過濾器,它有成爲單個過濾器參數。原因是我正在構建URL查詢字符串來過濾管理用戶更改列表:http://myserver/admin/auth/user/?zones=3
看起來應該很簡單,但我的大腦不合作!
我不知道如果我得到你的權利 - 不是'User.objects.filter(zones__id =)'或'User.objects.filter(zones__in = )'好嗎? –
2010-02-07 21:16:43
沒關係:)順便說一句'User.objects.filter(zones__in =)'應該可能是'User.objects.filter(zones__id__in = )' –
2010-02-08 00:08:42
只是想指出任何人使用谷歌搜索,只有當related_name已設置。例如,zone_set不起作用。浪費了一個好半小時的時間:-) – 2012-12-06 13:27:26