代码之家  ›  专栏  ›  技术社区  ›  fmalina

Django选择具有空ManyToManyField的对象

  •  4
  • fmalina  · 技术社区  · 14 年前

    考虑到以下模型,了解一个家庭,我如何选择没有买家的孩子?

    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
    
    2 回复  |  直到 14 年前
        1
  •  8
  •   Benjamin Wohlwend    14 年前

    family.kid_set.filter(buyer__isnull=True) 应该有用。

        2
  •  3
  •   Community CDub    8 年前

    @皮奎拉的 answer 执行:

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

    这样可以避免使用单独的查询来查找 Family 实例。