django - 如何在 django orm 上制作多重过滤器?
问题描述
我有一个包含字段的表:
No. | name | utc_date | utc_time |
------------------------------------
1 | John | 181014 | 140104.12 |
2 | Mark | 181014 | 152312.01 |
3 | Kim | 181015 | 092345.23 |
4 | Jane | 181015 | 234543.32 |
我怎样才能创建这样的 Django ORM 查询:?
(utc_date >= 181014, utc_time >=150000.00) AND (utc_date <= 181015, utc_time <= 150000.00 )
*我尝试制作如下图,但它不起作用:
MyTable.objects.filter(utc_date__gte=181014,
utc_date__lte=181015,
utc_time__gte=150000.00,
utc_time__lte=150000.00)
解决方案
对于多个过滤器,请使用Q
objects。
在你的情况下,它应该看起来像
from django.db.models import Q
MyTable.objects.filter(Q(utc_date__gte=181014) &
Q(utc_date__lte=181015) &
Q(utc_time__gte=150000.00) &
Q(utc_time__lte=150000.00))
推荐阅读
- azure-devops - Azure DevOps (SAAS)、自托管代理和 GitHub Enterprise Server 之间的数据流
- ios - StackView 添加了一个跨越边界约束,它弄乱了我的视图高度
- javascript - 反应:下拉菜单没有在外面的水龙头上关闭
- java - 通过k8s作业文件将cmd参数传递给docker容器中的java应用程序
- julia - 在 Julia 中将日期时间格式“1/22/20”转换为“2020-01-22”
- sql-server - 使用 outerapply 填充
- linux - 后台 docker 容器在哪里运行?(苹果系统)
- c++ - 应该急切地或懒惰地评估 c++ 约束吗?
- snakemake - 带有生成许多中间文件的脚本的 Snakemake
- flutter - 如何使文本在颤动中转到下一行