在 django 过滤器中使用 dateadd

2023-11-27

我有一个按开始日期和持续时间(以天为单位)定义订阅期的模型:

class SubscriptionProduct(models.Model):    
    start_date = models.DateField()
    duration = models.IntegerField()

我需要能够过滤当前处于活动状态的订阅,例如开始日期

我找不到 django 的方法来做到这一点。我可以使用原始 SQL 语句,这些语句使用 postgres 的 DATEADD 相当于 INTERVAL,但我更喜欢使用内置的和非特定于数据库的东西。

我假设理想情况下我正在寻找 dateadd 注释方法。就像是:

SubscriptionProduct.objects.annotate(end_date=DateAdd('start_date','duration').filter(start_date__lt=datetime.now, end_date__gte=datetime.now)

我最终编写了一个自定义 Func 表达式,它正是我想要的。 这是 Postgresql 特有的,有点 hacky,但它可以工作,即使在比上面所示的查询更复杂的查询中使用也是如此。

class DateAdd(Func):
    """
    Custom Func expression to add date and int fields as day addition
    Usage: SubscriptionProduct.objects.annotate(end_date=DateAdd('start_date','duration')).filter(end_date__gt=datetime.now)
    """
    arg_joiner = " + CAST("
    template = "%(expressions)s || ' days' as INTERVAL)"
    output_field = DateTimeField()

请注意,我必须执行 arg_joiner 技巧,以便在子选择表达式中使用时正确解析两个字段名称

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

在 django 过滤器中使用 dateadd 的相关文章

  • django 尝试了这些 url 模式

    当我尝试访问我的站点时 它会给出以下信息 使用 mysite urls 中定义的 URLconf Django 按以下顺序尝试了这些 URL 模式 管理员 当前 URL 与其中任何一个都不匹配 如果我访问该网站并附加 admin 它会将我带
  • sphinx 中的分组方法文档字符串

    是否可以使用 sphinx 的 autodoc 功能将多个方法文档字符串分组 以便将它们列在一起 class Test object def a self A method of group foo def b self A method
  • Python Pandas 从宽到长的格式更改以及列标题拆分

    我有一个包含以下列标题和行示例的表 Subject Test1 Result1 Test1 Result2 Test2 Result1 Test2 Result2 0 John 10 0 5 20 0 3 我想将其改造成 Subject l
  • Python pandas:删除字符串中分隔符之后的所有内容

    我有数据框 其中包含例如 vendor a ProductA vendor b ProductA vendor a Productb 我需要删除所有内容 包括 两个 以便我最终得到 vendor a vendor b vendor a 我尝
  • 修复类以在 Flask 会话中启用对象存储[重复]

    这个问题在这里已经有答案了 我有一个自定义类 Passport 其中包含活动用户身份和权限 我曾经将它存储在会话中 如下所示 p Passport p do something fancy session passport p 它就奏效了
  • SQLAlchemy:检查给定值是否在列表中

    问题 在 PostgreSQL 中 检查某个字段是否在给定列表中是使用IN操作员 SELECT FROM stars WHERE star type IN Nova Planet SQLAlchemy 的等价物是什么INSQL查询 我尝试过
  • 如何充分释放函数中使用的GPU内存

    我在用着cupy在接收一个函数numpy数组 将其推到 GPU 上 对其进行一些操作并返回cp asnumpy它的副本 问题 函数执行后内存没有被释放 如ndidia smi 我知道内存的缓存和重用cupy 但是 这似乎仅适用于每个用户 当
  • 使用Python进行图像识别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 就是我想识别图像中的字母 可能是 bmp或 jpg 例如 这是一个包含字母 S 的 bmp 图像 我想做的是使用Pyth
  • 比较两个文本文件并计算差异

    我一直在尝试在Python中比较两个文本文件 本质上我想打开它们并一次比较一个字符 如果字符不同 则向计数器添加1 然后显示该值 这是我到目前为止所拥有的 usr bin env python diff 0 import random im
  • 为什么我在将数据上传到数据库时不断看到“正在重置断开的连接”?

    我正在通过 REST API 将数亿个项目从 Heroku 上的云服务器上传到 AWS EC2 中的数据库 我正在使用 Python 并且经常在日志中看到以下 INFO 日志消息 requests packages urllib3 conn
  • Numpy 通过一个数组的值总结另一个数组

    我正在尝试找到一种矢量化方法来完成以下任务 假设我有一个 x 和 y 值的数组 请注意 x 值并不总是整数并且可以为负数 import numpy as np x np array 1 1 1 3 2 2 2 5 4 4 dtype flo
  • 事务出错后回滚

    对于熟悉 Postgresql 的人来说 这应该很简单 我的应用程序发出一个begin work 进行一些操作 然后发出commit 操作和提交被包装在一个 try catch 块中 该块的 catch 语句执行rollback 假设 如果
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • Python中的MariaDB连接器无法连接到远程服务器

    我使用与远程 Mariadb 服务器的连接已有几个月了 今天 无法再通过 macOS 上的 python mariadb 模块和 mariadb 连接器建立连接 基本安装如下 brew install mariadb connector c
  • 在Python中将罗马数字转换为整数

    根据 user2486 所说 这是我当前的代码 def romanMap map M 1000 CM 900 D 500 CD 400 C 100 XC 90 L 50 XL 40 X 10 IX 9 V 5 V 4 I 1 return
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • 在哪里可以找到Python内置序列类型的时间和空间复杂度

    我一直无法找到此信息的来源 无法亲自查看 Python 源代码来确定这些对象是如何工作的 有谁知道我可以在网上找到这个吗 结帐时间复杂度 http wiki python org moin TimeComplexitypy dot org
  • 使用 Python 进行 Google 搜索网页抓取 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近为了工作中的一些项目 学习了很多python 目前我需要使用谷歌搜索结果进行一些网络抓取 我发现几
  • 将字典写入 csv 时遇到问题,其中键作为标题,值作为列

    我有一本字典 看起来像 mydict foo 1 2 bar 3 4 asdf 5 6 我正在尝试将其写入 CSV 文件 使其看起来像 foo bar asdf 1 3 5 2 4 6 我花了最后一个小时寻找解决方案 我发现的最接近的解决方

随机推荐

  • 为什么编译器无法识别元模型属性?

    java se 6 项目是否支持 eclipselink jpa2 的标准 api 如果没有 那是我的问题 我是否需要在 persistence xml 中为标准 api 指定任何特殊内容 这是我的条件查询 final EntityType
  • 使用 C++ 可变长度参数时,如何从 _TCHAR * 转换为 char *?

    我们需要将一个格式 TCHAR 字符串和一些 char 字符串传递到具有可变长度参数的函数中 inline void FooBar const TCHAR szFmt const char cArgs 所以它可以这样调用 char foo
  • 如何使用 JavaMail 将多个文件附加到电子邮件?

    以下 Java 代码用于将文件附加到电子邮件 我想发送multiple通过电子邮件归档附件 任何建议 将不胜感激 public class SendMail public SendMail throws MessagingException
  • 如何为可缓存 PCIe BAR 进行 mmap

    我正在尝试编写一个自定义驱动程序mmap PCIe BAR 的函数 目标是使该 BAR 可缓存在处理器缓存中 我知道这不是实现最高带宽的最佳方法 并且写入顺序是不可预测的 本例中也不是问题 这类似于中所描述的如何阻止 MMAP 缓存值 处理
  • Chef Chef-validator.pem 安全性

    您好 我正在异地使用厨师设置一组机器 如果其中一台机器被盗 攻击者可以通过拥有chef validator pem 对我的chef server 或其他节点造成什么损害 他们还可以通过厨师获得哪些其他东西 谢谢 这是最近 Foodfight
  • Google 云端硬盘 - 无法通过经过身份验证的 (OAuth2) 请求下载缩略图

    对于所有 Google 文档 我无法从随文件响应返回的 ThumbnailLink 属性下载缩略图 我总是收到 403 禁止 错误页面 其中包含类似于以下内容的消息 您的客户端没有权限获取 URL 缩略图链接从该服务器 客户端IP地址 cl
  • 如何根据CASE执行不同的SELECT语句

    我在使用 CASE 语句执行查询时遇到问题 根据我的条件 例如长度 我想执行不同的 SQL 语句 有问题的示例查询如下 select case when char length 19480821 8 then select count 1
  • Zend Framework TDG 与 Doctrine [重复]

    这个问题在这里已经有答案了 可能的重复 什么时候应该使用 ORM 主义 什么时候应该使用 zend db table 简而言之 什么更好 为什么 我目前使用 Zend Framework TDG 但正在考虑转向 Doctrine 已经从 Z
  • 具有显式域的本地主机上的 Cookie

    我一定是错过了一些关于 cookie 的基本知识 在本地主机上 当我在服务器端设置 cookie 时and将域显式指定为 localhost 或 localhost 某些浏览器似乎不接受cookie 火狐 3 5 我在 Firebug 中检
  • 适用于 Windows 的最佳轻量级 Web 服务器(仅静态内容)[关闭]

    Closed 这个问题是无关 目前不接受答案 我在 Windows 中运行应用程序服务器 IIS6 0 并使用 Zend Server 来执行 PHP 我正在同一台计算机上寻找轻量级仅静态内容的 Web 服务器 它将重温 IIS 表单处理静
  • “类型错误:‘函数’对象不支持项目分配”

    我有两个矩阵 fi f1 Nij N11 N12 N1n f2 N21 N22 N2n fn Nn1 Nn2 Nnn 我想乘以 f1 to each element of the 1st row f2 to each element of
  • ListView光标变化和闪烁

    当光标出现在某个项目上时 我试图更改标准 ListView 上出现的光标 然而 当鼠标变为手指光标 然后又回到我要求的状态时 我得到了闪烁的效果 我试图将这种闪烁 更改隔离到手形光标 但无法弄清楚它发生在哪里或如何阻止它 为了复制这个 1
  • 如何启用 WCF 日志记录以便将其写入数据库?

    我希望能够在数据库中记录消息信息 并且我正在尝试决定如何最好地做到这一点 是否可以将 WCF 日志记录机制配置为写入数据库而不是文件 谢谢 你需要有两件事 启用 NET 跟踪的正确配置 跟踪侦听器 用于捕获跟踪消息并将其存储在数据库中 Fo
  • 实体框架 6 提供开箱即用的存储库和 UoW

    但如何使用它呢 我有一个Code First项目建立 并尝试使用这个新的 EF6 进行一些操作 阅读至少 2 岁有关 EF4 5 的各种帖子 博客 但对于 EF6 却一无所知 假设我有这些实体 public DbSet
  • 基于注释的验证框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个基于注释的验
  • PHP HTML 创建库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个 PHP 解
  • 这里的递归是如何工作的?

    Code 1 public static int fibonacci int n if n 0 n 1 return 1 else return fibonacci n 1 fibonacci n 2 你如何使用fibonacci如果你还没
  • 如何在 OS X 上安装 Hudson 作为服务?

    Running hudson这很简单 但目前文档缺少在 OS X 上安装正在运行的 hudson 作为守护进程 服务的教程 当您切换到生产时 您需要确保其配置正确并受到保护 要求 能够在端口 80 上运行它 不以 root 身份运行 或者至
  • android.net 与 java.net 以及不同的 URI 类

    我正在编写一个带有模型对象的应用程序 该对象将向某些 Web 服务公开 Restful 接口 我注意到 Android 中有一个 java net URI 和一个 android net URI 类 使用其中一种与另一种相比有什么好处 有没
  • 在 django 过滤器中使用 dateadd

    我有一个按开始日期和持续时间 以天为单位 定义订阅期的模型 class SubscriptionProduct models Model start date models DateField duration models Integer