django:datediff sql 查询?

2024-03-01

我正在尝试在 Django 中执行与以下 SQL 等效的操作:

SELECT * FROM applicant WHERE date_out - date_in >= 1 AND date_out - date_in <= 6

我可以将其作为 RAW sql 查询来执行此操作,但是在处理 RawQuerySet 而不是常规 QuerySet 对象时,这变得令人沮丧,因为我希望能够稍后在代码中对其进行过滤。


我遇到了 Django 本身不支持的问题Datediff(以及其他数据库等效项),并且需要针对特定​​项目多次使用这样的函数。

经过进一步阅读,很明显,计算两个日期间隔的实现在主要数据库风格之间存在很大差异。这可能就是 Django 中还没有原生抽象函数的原因。所以我编写了自己的 Django ORM 函数datediff:

See: mike-db-tools Github 存储库 https://github.com/michaeljtbrooks/mjtb-django-tools/blob/master/db_tools.py

您将看到在各个数据库的文档字符串中编写的数据库后端之间不同的语法。 Datediff 支持 sqlite、MySQL/MariaDB、PostgreSQL 和 Oracle。

用法(Django 1.8+):

from db_tools import Datediff

# Define a new dynamic fields to contain the calculated date difference
applicants = Applicant.objects.annotate(
    days_range=Datediff('date_out','date_in', interval='days'),
)

# Now you can use this dynamic field in your standard filter query
applicants = applicants.filter(days_range__gte=1, days_range__lte=6)

当谈到我的代码时,我真的很傻,所以我鼓励你分叉和改进。

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

django:datediff sql 查询? 的相关文章

  • Django 模板 - 我可以设置要在父模板中使用的变量吗?

    我有一个包含通用导航菜单的父模板 我希望能够添加class selected 到适当的菜单选项 我希望能够在子模板中设置变量 例如 set menu products and do ifequal menu products class s
  • 基于列顺序的查询速度

    数据库中列类型的顺序对查询时间有影响吗 例如 具有混合排序 INT TEXT VARCHAR INT TEXT 的表的查询速度是否会比具有连续类型 INT INT VARCHAR TEXT TEXT 的表慢 答案是肯定的 这确实很重要 而且
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • 仅当变量不为空时 SQL 添加过滤器

    您好 我有疑问如下 SELECT route id ROUTE ID FROM route master NOLOCK WHERE route ou 2 AND route query l s query AND lang id 1 这里
  • (SQL) 识别字段中字符串格式多次出现的位置

    我需要将叙述字段 自由文本 拆分为多行 目前的格式如下 Case Reference Narrative XXXX XX 123456 Endless Text up to 50k characters 在作为文本的叙述字段中 各个条目 当
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • django 保护用户上传的文件

    如何允许用户将文件上传到他们自己的用户指定的文件夹 并且只能看到他们已上传的文件 我正在使用 django 文件传输 目前 它让我可以选择将媒体放入哪个文件 但我可以将其放入任何用户的文件中并查看每个用户的媒体 这是我的 uploads m
  • Python 中的单词匹配

    我有这个 但它正在进行部分匹配 for il in ignore list if il word in title or il word in text return True 我怎样才能只匹配整个单词 您需要将标题和文本字符串拆分为单词列
  • 操作错误:游标“_django_curs_”不存在

    我们有一个由 django postgresql 和 heroku 提供支持的在线商店 Web 应用程序 对于特定的活动 您可以将活动视为要购买的产品 我们已成功售出 10 000 份以上的副本 然而 根据我们的 Sentry 报告 我们的
  • Quartz.NET 设置 MisfireInstruction

    我正在使用 Quartz NET 在 C 中工作 并且在 CronTrigger 上设置失火指令时遇到问题 我正在运行安装了 Quartz DB 的 SQL 后端 我有以下代码 可以很好地创建作业和运行调度程序 IScheduler sch
  • 如何在没有 openshift 的情况下托管 Django localhost 应用程序?

    我已经在本地主机中创建了一个 Django 应用程序 现在我需要在互联网上托管 我已经尝试过开档 https www openshift com and 任何地方的Python https www pythonanywhere com也 但
  • 在 django 查询集上使用 iterator()

    我最近遇到了一些奇怪的行为 需要检查我的理解 我在模型中使用一个简单的过滤器 然后迭代结果 e g allbooks Book objects filter author A A Milne for book in allbooks do
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • 从一个sql服务器选择到另一个sql服务器?

    我想将一台服务器 Data Old S1 中的一个表 T1 在 DB1 中 中的数据选择到另一台服务器 Data Latest S2 中的另一个表 T2 在 DB2 中 中的数据 我怎样才能做到这一点 请注意服务器的命名方式 查询也应该考虑
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21

随机推荐

  • 以编程方式设置Android动画列表

    我正在尝试将 gif 动画添加到我的应用程序中 1 我可以从服务器下载 gif 动画 2 我能够解码动画 gif 使用我的自定义解码器 并拥有与其帧相对应的单独位图 现在我想使用逐帧动画来制作它的动画 正如我所读到的 要执行逐帧动画 首先需
  • 如何设置camel处理器或其他路由成分的id

    Camel 自动生成处理器和其他内容的 ID processor1 processor25 有没有办法设置这个名字 我们需要通过 jmx 识别某些处理器来获取遥测数据 我想要设置的名称是通过属性给出的 它们在开始时是已知的 因此 我需要在定
  • jQuery 交换图像未加载

    我正在尝试使用 jQuery attr 将图像从 Images origImage 的原始图像源位置交换到 Images newImage 的新图像源位置 当我单击 div 时 如果右键单击图像并查看地址 URL 属性 图像 Url 属性会
  • 如何将不同类型的列插入到numpy数组中?

    我想附加两个类型的 numpy 数组np datetime64 and int到另一个 这会导致错误 我需要做什么来纠正这个问题 如果我将向量附加到自身上 即 np append c c axis 1 or np append a a ax
  • 如何设置gdb的默认选项?

    我每次打开 GDB 时都会设置几个选项 例如 set print thread events off 有没有办法默认设置这些选项 也许类似于 gdb rc 文件 初始化文件为gdb叫做 gdbinit 您可以将所需的选项放入此文件中 它们将
  • 当 div 滚动到视口时淡入

    好的 所以我一直在寻找simple当用户将其滚动到视图中时淡入 div 的方法 但我找不到直接的解决方案 HTML div class container div class topdiv This is a 100 height div
  • C# - 无法在方法内声明委托

    我这里真的是一片空白 我在想why我无法在方法中声明委托类型 但我必须在类级别声明委托类型 namespace delegate learning class Program Works fine public delegate void
  • 静态内存实例中的字符串计数

    据我所知 编译时类似 C 的字符串仅作为一个实例保存在静态内存中 例如我两者都有true在 gcc 4 6 上运行下面的示例 但我想知道它是否总是如此并且可以便携 C 和 C 上的行为都很有趣 include
  • Spark如何执行join+filter?它具有可扩展性吗?

    假设我有两个大型 RDD A 和 B 包含键值对 我想使用密钥连接 A 和 B 但是在匹配的 a b 对中 我只想要一小部分 好 的 所以我进行连接并随后应用过滤器 A join B filter isGoodPair where isGo
  • Laravel 5.1 防止 CSRF 不匹配引发异常 [重复]

    这个问题在这里已经有答案了 我遇到向用户抛出 CSRF 异常的问题 发生这种情况的原因完全是无辜的 例如 如果有人在最 终提交表单时花了太长时间填写表单 则会话已过期并且令牌不匹配 现在显然这是一个错误 但它不需要杀死所有内容并抛出异常 有
  • 优化 Solr 的排序

    我正在使用 Solr 进行实时搜索索引 我的数据集大约有 60M 大文档 我需要按时间排序 而不是按相关性排序 目前 我在查询中使用排序标志按时间排序 这对于特定搜索效果很好 但是当搜索返回大量结果时 Solr 必须获取所有结果文档并在返回
  • RDD 中的分区数量和 Spark 中的性能

    在 Pyspark 中 我可以从列表创建 RDD 并决定有多少个分区 sc SparkContext sc parallelize xrange 0 10 4 我决定对 RDD 进行分区的分区数量如何影响性能 这与我的机器的核心数量有何关系
  • Java - 变量可能未初始化

    好的 所以无论我尝试什么 这个程序都无法工作 它只是一直说可变税可能未初始化 我可以拥有的唯一属性是收入 因此我无法申报高于此代码的税款 我发现如果我这样做的话 代码实际上可以被编译 显然这会导致数据过时 所以它没有用 请帮忙 public
  • 在编译时将文件复制到应用程序文件夹中

    如果我有一些文件想要从我的项目复制到 bin debug 编译时的文件夹 那么看来我必须将它们放入项目的根目录中 将它们放入子文件夹似乎将它们复制到 bin debug 文件夹的结构与它们存储的结构相同 有什么办法可以避免这种情况吗 只是要
  • Xcode 不兼容的指针类型

    语义问题 初始化时不兼容的指针类型NewCustomCell 带有类型的表达式UITableViewCell static NSString cellID customCell NewCustomCell cell tableView de
  • 从 C# 接口继承 XML 注释

    我想知道是否有人知道如何将接口 xml 注释链接到实现 问题是我希望基本评论首先来自我的界面 例子 interface myinterface
  • 我的 RestController 没有触发 @ControllerAdvice 和 @ExceptionHandler

    为了在整个应用程序中进行统一的异常处理 我正在使用使用 Spring 进行 REST 的错误处理 https www baeldung com exception handling for rest with spring解决方案 3 使用
  • MVC3 中的 POCO 类和 ViewModel

    我不是一名经验丰富的 MVC3 开发人员 但我正在努力成为一名经验丰富的 MVC3 开发人员 我熟悉 POCO 类和 ViewModel 因为前者描述了数据库的每个类 后者用于 mvc3 中的强类型视图 对于经验丰富的开发人员来说 我的问题
  • 用于插入、更新、删除后将数据按顺序输入日志表的 PL/SQL 触发器

    我正在解决家庭作业问题 我的触发器遇到了编译问题 并且无法理解如何创建引用序列和另一个表的触发器 并将这些值插入到我创建的日志表中 我读过 在表列条目上使用 SERIAL not null 可能会消除对序列和引用表的需要 http www
  • django:datediff sql 查询?

    我正在尝试在 Django 中执行与以下 SQL 等效的操作 SELECT FROM applicant WHERE date out date in gt 1 AND date out date in lt 6 我可以将其作为 RAW s