Django select objects with empty ManyToManyField

人走茶凉 提交于 2020-01-02 05:57:09

问题


Considering the following models, knowing a family, how do I select Kids with no buyers?

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

回答1:


family.kid_set.filter(buyer__isnull=True) should work.




回答2:


@piquadrat's answer is correct. You can also do:

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

This lets you avoid a separate query to look up the Family instance.



来源:https://stackoverflow.com/questions/3856361/django-select-objects-with-empty-manytomanyfield

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!