Django Querysets - 按相关对象中的布尔值过滤对象

Ada*_*rrh 4 django django-queryset

我想为我的购买模型创建一个模型管理器:

class Purchase(models.Model)
    number = models.IntegerField

class InventoryLog(models.Model)
    purchase = models.ForeignKey(Purchase)
    sold_out = models.BooleanField(default=false)
Run Code Online (Sandbox Code Playgroud)

我希望我的模型管理器返回与值为 的对象Purchase无关的任何对象InventoryLogsold_outTrue

有没有办法用查询集、Q 对象或 F 对象来处理这个问题,或者我需要诉诸 for 循环?

Pet*_*per 5

我相信Purchase.objects().exclude(inventorylog__sold_out=True)会做到这一点。