2010-10-04 47 views
4

考慮到以下模型,瞭解一個家庭,如何選擇沒有買家的兒童?Django選擇帶有空的對象ManyToManyField

class Family... 

class Kid(models.Model): 
    name = models.CharField(max_length=255) 
    family = models.ForeignKey(Family) 
    buyer = models.ManyToManyField(Buyer, blank=True, null=True) 

family = get_object_or_404(Family, pk=1) 
for_sale = family.kid_set.filter(buyer... this screws my child trade business 

回答

8

family.kid_set.filter(buyer__isnull=True)應該工作。

+0

謝謝你幫助我光榮的事業:) – 2010-10-04 15:17:10

3

@ piquadrat's answer是正確的。您可以做:

for_sale = Kid.objects.filter(family__pk = 1, buyer = None) 

這可以讓你避免一個單獨的查詢來查找Family實例。