django - django 对象根据日期过滤
问题描述
最近我在 Django 中遇到过这种情况,无法清楚地理解为什么这两种查询之间存在差异,任何人都可以帮助我理解它,谢谢
>>> date
datetime.datetime(2020, 11, 1, 0, 0)
>>> Contract.objects.filter(deadline_on__gt=date).count()
220
>>> Contract.objects.filter(deadline_on__month__gt=10, deadline_on__year__gt=2019).count()
30
>>>
解决方案
第一个查询将为您提供大于 2020-11的结果
- 2020-12、2021-01、2021-02、2021-04、2021-04等
但是,第二个查询是一个棘手的查询,它只匹配第 11 和 12 个月以及大于 2019 的年份
- 2019-11、2019-12、2020-11、2020-12、2021-11、2021-12等
推荐阅读
- css - Sidenav Collapsible 不像其他的那样居中
- 的
- javascript - 如何在 node.js 中创建路由并包含 html 代码
- c# - 输入字段中没有写入任何内容=>无法按下按钮
- c - 为什么 valgrind 在返回 malloc 的指针时显示“泄漏肯定丢失”警告?
- c++ - GDB '在启动程序期间以信号 SIGTRAP 终止,跟踪/断点陷阱。'?
- android - 是否可以序列化和反序列化包含对象作为 Firebase 中的变量的对象?
- vue.js - Kendo-Vue Datasource.beforeSend 问题
- matlab - 如何将我的输出索引到长度(x)x2 矩阵?
- linux - 为什么我在尝试编译 GCC 时会收到 make 错误?
- r - 在 R 中安装 devtools 的问题