0
class Person(models.Model):
age = models.IntegerField()
class Group(models.Model):
people = models.ManyToManyField(Person,through=Membership)
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
existing = models.BooleanField()
這是簡化的類結構和什麼我想查詢的是: 在A組的查詢集,使得有一些人憑會員,使得existing
是真實的。 我嘗試過使用Group.objects.filter(membership__existing=True)
,但它似乎抓住了所有的組。如何查詢ManyToMany與django中某些屬性的關係?
過濾查詢集的最有效方法是什麼?
謝謝你的評論。我再次測試並注意到我的真實代碼使用了'NullBooleanField',我想要的條件是null。所以我使用了'filter(membership__existing__isnull = True)',其中也包括那些沒有任何成員身份的人。在更改爲'filter(membership__isnull = False,membership__existing__isnull = True)'後,正常工作 –