问题
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