Django模型时间范围过滤方法

2023-12-01

我在一个老问题中看到了接下来的两种方法here但我不清楚以下之间有什么区别:

{'date_time_field__range': (datetime.datetime.combine(date, datetime.time.min),
                        datetime.datetime.combine(date, datetime.time.max))}

and

YourModel.objects.filter(datetime_published__year='2008', 
                     datetime_published__month='03', 
                     datetime_published__day='27')

我自己对此感到困惑,但我想我已经解决了:-D 我发现有关范围查找选项的文档很有帮助。

当你这样做时:

YourModel.objects.filter(datetime_published__year='2008', 
                     datetime_published__month='03', 
                     datetime_published__day='27')

SQL 将类似于:

SELECT ... WHERE EXTRACT('year' FROM pub_date) = '2008'
             AND EXTRACT('month' FROM pub_date) = '03'
             AND EXTRACT('day' FROM pub_date) = '27';

而 django 基于日期的通用视图的这一部分:

{'date_time_field__range': (datetime.datetime.combine(date, datetime.time.min),
                        datetime.datetime.combine(date, datetime.time.max))}

变成这样的东西:

YourModel.objects.filter(datetime_published__range=(
                datetime.datetime.combine('2008-03-27',datetime.time.min),
                datetime.datetime.combine('2008-03-27',datetime.time.max)
                                                                  )

它会生成如下 SQL:

SELECT ... WHERE datetime_published BETWEEN '2008-03-27 00:00:00'
                                        AND '2008-03-27 23:59:59';

(上一个 SQL 示例中的时间戳格式显然是错误的,但你明白了)

希望这能回答你的问题 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django模型时间范围过滤方法 的相关文章

随机推荐

  • Kivy - 在 .py 文件中使用一个屏幕的 TextInput 中的文本到另一个屏幕

    我的第一个屏幕上有一个 TextInput 我想在第二个屏幕上的标签中使用收到的文本 我怎样才能做到这一点 由于可能有不同的玩家 我创建了一个玩家类 它为每个玩家存储一个名字和他 她的分数 在第二个屏幕中 我还尝试创建一个可以编辑点 标签文
  • 如何从文件中读取powershell表

    我在一个文件中有这样的内容 File Versions aaa 1 0 0 123 1 0 0 124 bbb 1 0 0 123 1 0 0 124 如何在powershell中将其读入表或类型数组 我已经通过以下脚本创建了该文件 ver
  • 将 javascript 函数注入到 Iframe 中

    这个链接 存档版本 描述了如何将脚本中的代码注入到 iframe 中 function injectJS var iFrameHead window frames myiframe document getElementsByTagName
  • 如何永远隐藏视图

    有人可以告诉我如何永远隐藏视图吗 我正在隐藏一个视图view setVisibility view GONE 但是当重新打开应用程序时 我必须重新隐藏视图 我希望在单击按钮时始终隐藏视图 直到清除应用程序数据或卸载 谢谢 您需要通过创建隐藏
  • LWP::UserAgent 和 500 SSL 协商失败

    我正在运行一个旧的 Debian 服务器 每天一次通过 Perl 脚本获取网页 从昨天开始 脚本失败并出现 500 SSL 协商失败 错误 use strict use LWP UserAgent my browserObj LWP Use
  • jQuery 验证插件:仅接受德文字母

    我正在寻找 jquery 验证插件的方法 http bassistance de jquery plugins jquery plugin validation 只接受字母 包括德语所谓的 Umlaute 我用谷歌搜索了一下 但不幸的是找不
  • 如何在控制台应用程序中添加 C# 登录尝试循环?

    我是这门语言的新手 我尝试了一些方法 但无法弄清楚如何设置登录循环以使用最大登录尝试次数 3次 有人可以帮我吗 static void Main string args Console WriteLine Status status Ona
  • 如何在按下按钮后在 JQuery / ASP.NET 中创建淡入淡出标签

    我认为这应该很容易 但我不太确定如何连接 我有一个页面 用户可以在其中定义查询 完成后 用户输入查询的名称并按下按钮 我想处理按钮单击 使文本标签 或跨度 可见几秒钟 然后让它淡出 由于它是回发 我可以将 ASP Label 控件变为可见
  • 仅从特定活动中读取 NFC 标签

    我先告诉你我在做什么 我按顺序进行了三项活动 活动1 gt gt 活动2 gt gt 活动3 现在 当我点击标签时 我只想从 Activity2 读取 NFC 标签 当我处于 Activity1 或 Activity3 中时 我的应用程序应
  • 如何将父组件注入子组件?

    我正在尝试将父组件注入子组件中 我认为这很简单 只需在子组件中指定 注入父组件constructor constructor private parent AppComponent child component constructor 我
  • 限制文本框中的数字和字母 - C#

    我想限制可以在文本框中输入的数字和字母 假设我只想允许数字 0 5 和字母 a d 小写和大写 我已经尝试使用屏蔽文本框 但它只允许我指定数字 字母 均无限制 或数字和字母一起但按特定顺序 最好的情况是 用户尝试输入数字 6 但文本框中没有
  • 使用 Trace 函数以 Haskell 的 do 表示法进行惰性求值

    我想知道为什么这个 调试消息 1 没有打印在这个片段中 import Debug Trace main do return trace debug message 1 trace debug message 2 return 第二个 调试消
  • 与新的导航堆栈结合时发现 @State 的奇怪行为 - 这是一个错误还是我做错了?

    我已将我的 swiftui 应用程序转换为新的导航栈以编程方式管理使用导航堆栈 路径 visibilityStack 这样做时 我发现 State 的意外行为让我认为视图没有正确关闭 事实上 当我用堆栈中的另一个视图替换该视图时 State
  • 如何通过选择随机变量在 Python 中执行随机事件?

    假设我必须变量 狗和猫 Dog 5 cat 3 我如何告诉 Python 随机选择这些变量之一并将其打印到屏幕上 import random print random choice dog cat 就是这么简单 choice 获取一个序列并
  • Pygame:尝试理解 Sprite 类

    我发现在Pygame 文档一个名为Sprite 我读了解释 但不明白这个类是用来做什么的 我知道我们用它来通过构造函数继承其他类 但仅此而已 如果有人有明确的解释用处班级的 以及如何用好 我有兴趣 是的 所以移动鼠标光标 那是一个精灵 它是
  • 内部服务器错误[重复]

    这个问题在这里已经有答案了 我正在开发一个短信发送应用程序 出于登录目的 我想使用 POST 方法将用户名和密码从我的 Android 应用程序发送到 Web 服务器 当我单击登录按钮时 应用程序没有响应 并且控制台打印以下消息来响应 Po
  • ReactJS:使用alert()获取用户输入

    我该如何使用alert 允许用户输入他们的名字并将其保存到状态 这是我到目前为止所做的尝试 render function return div div
  • 如何在 C# 中检查 Excel 文件的版本?

    我需要区分所选文件是使用所选 Excel 文件的 Excel 2010 或 Excel 2013 版本创建的 并且服务器上的 Excel 应用程序必须匹配才能继续 我可以获得服务器的Excel应用程序版本 xApp new Microsof
  • 如何将 Base64 格式的文件附加到 Laravel 5.2 邮件

    我有 Angular 应用程序作为前端 Laravel 5 2 作为 api 后端 我的角度应用程序将参数发送到我的 laravel 控制器 name My Name email email protected subject Hello
  • Django模型时间范围过滤方法

    我在一个老问题中看到了接下来的两种方法here但我不清楚以下之间有什么区别 date time field range datetime datetime combine date datetime time min datetime da