python - Django ORM 查询 - 如何从模型字段中减去时间?

标签 python mysql sql django

我有一个查询从我的模型字段返回Max时间。

results = MyModel.objects.filter(
                id=pk,
                date__range=(start_time, end_time)
                ).values('my_id'
                ).annotate(max_time=Max('my_date_time'))

到目前为止,一切都很顺利。现在我需要从我的 my_date_time 字段中减去时间(60 分钟)。

对我来说最方便的是如果我能以某种方式直接在我的 html 模板中减去时间。有可用的过滤器吗?

如果没有,是否可以使用 MySQL SUBTIME() 函数或 Python timedelta 来执行此查询?

非常感谢您的建议和反馈!

如果已经有类似的先前提出/回答的问题,不知何故我错过了它,我深表歉意!

编辑:

是的,my_date_time 字段是有效的datetime 模型字段。

最佳答案

from datetime import timedelta

results = MyModel.objects.filter(
                id=pk,
                date__range=(start_time, end_time)
                ).values('my_id'
                ).annotate(max_time=Max('my_date_time'))
for result in results:
    result['max_time'] -= timedelta(minutes=60)

关于python - Django ORM 查询 - 如何从模型字段中减去时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599782/

相关文章:

php - 为什么我的第一个sql语句不运行

python - 如何为 Python 的新 NamedTuple 类型定义构造函数?

python - 获取 RabbitMQ 队列中的消息数

mysql - Windows 应用程序本地数据库部署的建议

mysql - 在 WildFly 中配置 MySql

php - 除了作为 blob 之外,是否有更节省空间的方式将图像存储在数据库中?

python - 通过 USB/串口连接到 Python 中的 Newport CONEX-PP 运动 Controller

python - 如何使用可观察的 RxPY 间隔定期调用异步协程?

mysql - SQL 新手,CREATE TABLE 错误

sql - SQL 中外连接的 *= 和 =* 发生了什么变化?