Django 查询集返回 DurationField 值(以秒为单位)

2023-12-13

我有两个模型:Post, Comment(评论与帖子有 FK 关系)。

现在我想返回所有帖子及其“响应时间”。我得到的响应时间是timedelta格式。我可以在几秒钟内收到它吗?我试过ExtractSecond但这不是我要找的:

base_posts_queryset.annotate(
    min_commnet_date=Min("comment_set__date_created"),
    response_time=ExpressionWrapper(F("min_commnet_date") - F("date_created"), output_field=DurationField()),
    response_time_in_sec=ExtractSecond(F("response_time"))
).filter(response_time__isnull=False).values("response_time", "response_time_in_sec")

此代码返回以下对象:

{'response_time': datetime.timedelta(days=11, seconds=74024, microseconds=920107), 'response_time_in_sec': 44}

我想要实现的基本上是调用.seconds对于结果查询集中的每个项目。我可以在 python 中执行此操作,但是 mb 它可以在数据库级别上完成吗?


当然可以,但确切的机制可能取决于您的数据库。

在 postgres 中,你可以使用EXTRACT(epoch FROM <interval>)获取总秒数。

要在 Django 中使用它,您可以创建一个Func子类:

class Epoch(django.db.models.expressions.Func):
    template = 'EXTRACT(epoch FROM %(expressions)s)::INTEGER'
    output_field = models.IntegerField()

然后就可以直接使用了:

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

Django 查询集返回 DurationField 值(以秒为单位) 的相关文章

  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • Series.sort() 和 Series.order() 有什么区别?

    s pd Series nr randint 0 10 5 index nr randint 0 10 5 s Output 1 3 7 6 2 0 9 7 1 6 order 按值排序并返回一个新系列 s order Output 2 0
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • 在 python pandas 中,如何保存“网格图”?

    我对 pandas 绘图工具很陌生 在文档中 以下命令非常方便 myplot rts ret hist bins 50 by rts primary mic 然而 当我尝试从图中获取图形参考并保存它时 问题就出现了 myfigure myp
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • Python Anaconda:如何测试更新的库是否与我现有的代码兼容?

    我在 Windows 7 机器上使用 Python 2 7 Anaconda 安装进行数据分析和科学计算 当新的库发布时 例如新版本的 pandas patsy 等 您建议我如何测试新版本与现有代码的兼容性 是否可以在同一台机器上安装两个
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 如何指示 urwid 列表框的项目数多于当前显示的项目数?

    有没有办法向用户显示 urwid 列表框在显示部分上方 下方有其他项目 我正在考虑类似滚动条的东西 它可以显示条目的数量 或者列表框顶部 底部的单独栏 如果这个行为无法实现 有哪些方法可以实现这个通知 在我的研究过程中 我发现这个问题 ht
  • 使用 PIL 在 Tkinter 中显示动画 GIF

    我正在尝试制作一个程序来使用 Tkinter 显示动画 GIF 这是我最初使用的代码 from future import division Just because division doesn t work right in 2 7 4
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • pandas 中数据帧中的随机/洗牌行

    我目前正在尝试找到一种方法来按行随机化数据框中的项目 我在 pandas 中按列洗牌 排列找到了这个线程 在 pandas 中对 DataFrame 进行改组 排列 https stackoverflow com questions 157

随机推荐

  • PythonInfo 没有 virtualenv 实现

    我遇到 virtualenv 实现错误 我知道 python2 7 很旧 但仍然需要 有人有解决办法吗 PythonInfo base exec prefix None system stdlib u usr lib python2 7 h
  • 为什么我们必须在内部类中将静态变量声明为final? [复制]

    这个问题在这里已经有答案了 我的代码是这样的 public class BookStore class Enumerator1 static int b 0 requires final public String searchBook f
  • 跨域请求和JQuery

    我尝试使用 getJSON 通过 jquery 向 Web 服务发出跨域请求 它工作正常 但是 当我尝试在 Internet Explorer 7 或 8 中发出相同的请求时 该请求永远不会发送 有人有主意吗 JSONP 就是为了这个目的而
  • 在 Perl 中如何找到所有重定向后的最终 URL?

    可以说我有 http www ritzcarlton com 这将我重定向到 http www ritzcarlton com en Default htm Perl 有没有办法在所有重定向后找到最终网址 使用 LWP 将为您遵循重定向 然
  • 在 JavaScript 中反转字符串

    我正在尝试反转输入字符串 var oneway document getElementById input field value var backway oneway reverse 但萤火虫告诉我oneway reverse 不是一个函
  • VS2015 中的 CoreCLR 控制台应用程序项目中没有本机代码调试?

    我真的很想跳过 CoreCLR 新的项目结构 nuget 合并到构建系统 文件系统报告更改时自动刷新解决方案以及针对多个平台只是我想从旧的 csproj net 继续前进的部分原因4 x 的东西 我的主要用例之一是使用 C 探索多平台游戏引
  • 如何将“字符串列表”变成真正的列表?

    我正在开一个 txt文件 并且必须使用其中的列表来执行我正在编写的函数 这是文本文件中给出的列表之一 24 72 95 100 59 80 87 n Using strip 它摆脱了 n 所以就变成 24 72 95 100 59 80 8
  • 递归 JSON 架构

    我正在尝试为带有子菜单的菜单创建正确的 JSON 架构 所以我应该从 item 定义一个数组 其中应包含三个项目 1 显示名称 2 URL 和子项 应该是具有相同结构的对象数组 此时我得到了这个 type array additionalP
  • main() 总是返回 int? [复制]

    这个问题在这里已经有答案了 可能的重复 C C 中 main 应该返回什么 为什么我们在c 中给出int main而不是void main 我开始学习 C 时 我想到了以下问题 main 总是返回 int 我不能声明无效主 代替int ma
  • 更改列表框中所选项目的背景颜色

    首先 我在这里和网络上搜索 发现很多解决方案如何更改 WPF 中列表框中所选项目的背景颜色 但没有找到如何在 Windows 应用商店应用程序中更改它 这个框架有点不同 我无法使用任何解决方案 我用这个 http social msdn m
  • Android:使用两个 ValueEventListener 从 firebase 数据库获取数据(在 Arraylist 过期之前设置适配器)

    我正在开发一个应用程序 数据库中有医生和患者等用户 患者数据和患者中可能有医生userIduserId在医生数据中 因为在应用程序中医生会看到有关他 她的患者的一些信息 我开发了这段代码 但在设置适配器之前我无法将患者信息添加到Arrayl
  • 使用增强几何从点到线的垂直地理距离

    我想得到距一点的垂直距离 t 到一条线段 p q 垂线不能与直线相交 p q 在这种情况下我想延长线路 p q 假设 然后绘制垂线以获得距离 p q t 都是 GPS 坐标 我正在使用增强几何 typedef boost geometry
  • 根据过去 90 天的登录情况计算活跃用户数

    我正在尝试进行一个查询 该查询将生成一个列表 显示我们每月有多少活跃用户 我们将活跃用户定义为过去 90 天内登录的用户 我可以通过这个轻松定义我们现在拥有的活跃用户数量 SELECT COUNT DISTINCT user id FROM
  • 检查对象 HashSet 的相等性

    我正在尝试比较两个哈希集Definition输入为EqualityComparer
  • Linux 中的 R 有哪些可用的 IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 Linux 中的 R 有哪些好的 IDE 我尝试过 Rcmdr 和 Eclipse 但似乎都不具有与 Windows 中的 Tinn R 相同的可用性 还有其他选择吗 这是一个新来者
  • IP 地址的正则表达式

    我尝试使用以下源代码提取 wan ip 的值 IP 地址 怎么了 我确信正则表达式模式是正确的 String input var product pic fn var firmware ver 20 02 024 var wan ip 92
  • Ruby 中相当于 Java 中的“this”函数的是什么?

    在Java中 有一个 this 函数指向它的方法 Ruby 中有类似的东西吗 例如 有没有 def method this method end 等价的是self 这也是隐含的 所以self first name是相同的first name
  • 离子无限滚动

    我使用 wordpress 作为应用程序的后端 我想使用无限滚动 但我在连接文章时遇到问题 我正在使用工厂调用该服务 factory Worlds function http var worlds storageKey worlds fun
  • API Application Insights 良好使用实践

    我读过这个文档 https learn microsoft com en us azure application insights app insights api custom events metrics 有许多不同的 API 方法来
  • Django 查询集返回 DurationField 值(以秒为单位)

    我有两个模型 Post Comment 评论与帖子有 FK 关系 现在我想返回所有帖子及其 响应时间 我得到的响应时间是timedelta格式 我可以在几秒钟内收到它吗 我试过ExtractSecond但这不是我要找的 base posts