Django QuerySet 中计算列的总和

2024-07-04

鉴于以下情况Contribution model:

class Contribution(models.Model):
    start_time = models.DateTimeField()
    end_time = models.DateTimeField(null=True)

是否可以使用 Django 数据库 API 重现以下 SQL 语句?

SELECT SUM(end_time - start_time) AS total_duration FROM contribution;

我已经弄清楚了这么多:

Contribution.objects.aggregate(total_duration=models.Sum( ??? ))

但我不确定如何表示end_time - start_time部分。谢谢!


目前不可能,有一个ticket http://code.djangoproject.com/ticket/10972对于聚合内的 F() 对象,但没有什么希望。

我看到的唯一方法是通过 python 中的 sum 来解决:

sum([x[1]-x[0] for x in Contribution.objects.values_list('start_time', 'end_time')])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django QuerySet 中计算列的总和 的相关文章

  • C# 使用 SqlCommand.Parameters 更新表

    我正在尝试使用 Sql 命令更新 SQL 表 我认为这是我的 T SQL 的语法错误 但这是我到目前为止所得到的 SqlCommand sqlCmd new SqlCommand UPDATE yak tickets SET email e
  • 将具有外键的第三个表中的记录复制到其他表

    我有三个表 表 1 作为主表 表 2 作为表 1 的详细信息 表 3 作为表 2 的详细信息 TABLE1 PK1 INTEGER FD1 VARCHAR 100 TABLE2 PK2 INTEGER FK1 INTEGER FD2 VAR
  • 在 Django 中添加新的自定义权限

    我在 Django 模型中使用自定义权限 如下所示 class T21Turma models Model class Meta permissions can view boletim Can view boletim can view
  • 在 redshift 上查询数据时出错 - 获取条带数据时出错

    我正在尝试在 redshift 中的外部表上运行以下查询 select from schema table limit 10 我收到一个错误 2018 06 20 12 03 14 XX000 500310 Amazon 无效操作 S3 查
  • 如何正确地对 Django 会话进行单元测试?

    Django 会话的行为在 标准 视图代码和测试代码之间发生变化 这使得我们不清楚如何为会话编写测试代码 谷歌搜索得出关于这个问题的两个相关讨论 通过以下方式更轻松地操纵会话 测试客户端 http code djangoproject co
  • 在 Django 管理站点中显示自定义模型验证异常

    我有一个预订模型 需要检查预订的商品是否可用 我希望有一个逻辑来确定该项目是否可用集中 这样无论我在哪里保存实例 此代码都会验证它是否可以保存 目前 我的模型类的自定义保存函数中有此代码 def save self if self is a
  • PyCharm 挂在“扫描文件到索引”后台任务上

    当我启动 PyCharm 时它就会启动扫描文件到索引后台任务并挂起约 1 小时 永远 有时它会完成并继续更新索引任务 它持续约 3 小时 永远 当这些进程正在运行时 很难使用 PyCharm 甚至其他一些程序 PyCharm 从约 200M
  • 在视图中使用全文搜索+GIN(Django 1.11)

    我需要一些帮助来在 django 视图中构建正确的查询 以使用 GIN 索引进行全文搜索 我有一个相当大的数据库 400k 行 需要对其中的 3 个字段进行全文搜索 尝试使用Django 文档搜索 https docs djangoproj
  • 我如何记住 CONNECT BY 查询中 PRIOR 应该走哪条路

    我的记忆力很糟糕 每当我在 Oracle 中执行 CONNECT BY 查询时 我的意思是every时间 我必须认真思考 通常通过反复试验来确定 PRIOR 应该采用哪个论证 我不知道为什么我不记得了 但我不记得了 有没有人有一个方便的记忆
  • 管理错误:__str__ 返回非字符串(类型 NoneType)

    尝试将实例添加到我的模型之一时 管理员返回此错误 该模型本身具有正确的str 方法并且尚未包含任何实例 还尝试更换str 方法与静态方法或完全删除它 没有运气 该错误似乎表明管理员的历史记录部分出了问题 Stacktrace 指向第 33
  • 在 PL/SQL 过程中,如何将表名作为参数传递?

    CREATE PROCEDURE A tab IN table AS BEGIN INSERT INTO tab VALUES 123 END A 我怎样才能指定参数tab是表名吗 你不能 相反 您需要将其作为 VARCHAR2 字符串传递
  • jqGrid - 未应用日期和时间格式

    我有一个显示 3 列的 jqGrid 其中一列是日期时间 正在返回的 SQL 日期时间字段 colModel 设置如下 colModel name col1 sortable false name col2 sortable false n
  • 将datagridview的所有数据插入数据库vb.net

    Dim Con As OleDbConnection New OleDbConnection Provider Microsoft Jet OLEDB 4 0 Data Source Music Sales Database mdb Dim
  • 如何清除实体框架中的待定更改

    我有一些表数据DbContext我不想保存 我已经删除了数据库 重新设置了它 但是挂起的更改不会消失DbContext 重建数据库后 我的数据库表为空 但是当我将实体作为对象列表调用时 它仍然包含旧对象 关于如何清除旧的待处理数据有什么建议
  • 如何计算 django 连接表中对象的数量?

    我的问题很简单 我有Users谁拥有Assets or Assets属于用户的如果您愿意 但我无法检索其数量 计数 Assets each User有 我知道这对你们大多数人来说可能听起来很愚蠢 但我是 python django 来自 P
  • 如何在SQL中搜索日期?

    我有一个我想要的事件管理系统 如果某个活动注册了 5 天 2009 年 1 月 21 日至 2009 年 1 月 26 日 那么如果另一个人想要在 2009 年 1 月 22 日至 24 日期间注册活动 则不允许注册 我想使用 SQL 查询
  • PostgreSQL 使用“lag()”窗口函数更新查询

    我有一个涉及Postgresql数据库的任务 我对 SQL 不太有经验 我有一张贸易产品每周营业额的表格 每周提供以下信息 产品 周数 周营业额 可能是正值或负值 具体取决于天气 更多产品被购买或出售 我添加了一栏 其中包含每周的期末余额
  • 如何将自定义表单添加到 django 管理页面内联

    我可以将在 forms py 中定义的表单放入 Django 管理员页面吗 我也可以将此表单放入 Django 管理员页面的模型内联中吗 需要明确的是 这就是我所说的内联 class AnswerInline admin StackedIn
  • 如何获得 firebird 数据库上的独占锁以执行架构更改?

    更具体地说 我正在使用 firebird 2 1 和 Visual Studio 的 DDEX Provider 并且我正在使用 c 工作 我遇到一种情况 我试图将模式更改从 C 应用到数据库 以 更新 我的数据库 在此过程中 我从 fir
  • 如何获取 PostgreSQL 中字符串中正则表达式匹配的位置?

    我有一个包含书名的表 我想选择标题与正则表达式匹配的书籍 并按标题中正则表达式匹配的位置对结果进行排序 单字搜索很容易 例如 TABLE book id title 1 The Sun 2 The Dead Sun 3 Sun Kissed

随机推荐