0
我對Django來說很新穎,並且在多對多對象上過濾時遇到問題。 我有很多一對多的關係在多對多行上的Django過濾器
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
我可以對涉及到一個單一的一羣人篩選
persons=Person.objects.filter(Q(group__name='Group1'))
但我想實現的是對人篩選是完全分兩組。
實施例:
- PERSON1是Group1中
- PERSON2是在Group1和Group2。
該過濾器應該只返回Person2。
任何提示如何爲此創建一個過濾器?
你想在*任何*兩組人,或特別組別1 +組2? –
@DanielRoseman不,我不想讓任何人蔘與其中。我希望分配給這兩個或更多組的人員。 – Nisse