python - 如何为模型添加多个过滤器
问题描述
我有库存、状态和交易表。交易具有多对一的库存链接,库存与状态具有一对一的关系。
我正在尝试通过结帐 > 3 sep 和在 Django 中具有结帐状态的库存来提取所有交易。
我正在使用以下语法来拉入 pyton,它给出了错误
inventory = Inventory.objects.get(status = 2)
transactions1 = Transaction.objects.filter((checkout_time__gt='2019-09-03') and inventory__in=inventory.id)
解决方案
如果您正在寻找AND
这样的声明,您可以简单地链接过滤器:
Transaction.objects.filter(checkout_time__gt='2019-09-03', inventory__status=2)
如果你想更明确,你可以使用 Django 的Q
对象:
from django.models import Q
Transaction.objects.filter(Q(checkout_Time__gt='2019-09-03'), Q(inventory__status=2))
使用 django 的 Q 对象,您可以OR
使用如下运算符构建查询|
:
Transaction.objects.filter(Q(checkout_Time__gt='2019-09-03') | Q(inventory__status=2))
推荐阅读
- r - 当一行的两列的值相同但在另一行的相反列中时,用于删除重复项的 r 代码是什么
- android - 将文件提供程序添加到清单时,Android 应用程序无法启动
- javascript - 从 React 直接上传到谷歌云存储(图像/文档)
- android - 如何使颤动中的浮动按钮停留在导航中
- javascript - 为什么我的三个 js 代码在灯塔和手机上运行缓慢?
- python - 无法使用 pytube 模块在 youtube 中检索好恶
- python - 在图像上显示掩码检测器时出错
- xcode - Xcode 两指滑动返回在 Xcode 12.5 中被破坏?
- javascript - 登录后隐藏侧边栏
- sql - 在 IN 子句中使用大数组优化 Postgres 查询