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

标签 django django-queryset

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

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

class InventoryLog(models.Model)
    purchase = models.ForeignKey(Purchase)
    sold_out = models.BooleanField(default=false)

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

有没有办法用查询集、Q 对象或 F 对象来处理这个问题,还是我需要求助于 for 循环?

最佳答案

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

关于Django Querysets - 按相关对象中的 bool 值过滤对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708442/

相关文章:

Django Elastic Beanstalk secret 变量

django - django 模型是否提供类似于表单的 clean_<fieldname>() 的东西?

django - 根据与登录用户的关系限制表单选项

django - 如何在 Django-Rest-Framework 中更新 ManyToMany "self"

python - Django 1.7b4中继承BaseUser错误

python - 我应该在这里使用 HttpResponseRedirect 吗?

django - 如何获取查询集条件和/或将查询集条件保存到数据库?

django - 从 Django 查询集中过滤掉重复值和无值

django - 在已过滤的查询集上使用 Django 自定义管理器功能

python - 复杂的 Django 查询集过滤,涉及 Q 对象和棘手的逻辑