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