python - 如何从 Django 的两列中获取最新的时间戳

标签 python mysql django django-queryset

如何从两列中获取最新时间,例如我有两个列名 start_time_astart_time_b 都存储值,如 2014-05-13 12:34 :34 但我需要使用 Python Django 从两列中获取最新时间。我是 django 查询的新手,请帮助我解决这个问题。

示例表:

+-----+-----------------------+-----------------------+ 
|  id |    start_time_a       |    start_time_b       |
+-----+-----------------------+-----------------------+
|  1  |  2014-05-13 12:34:34  |  2014-05-13 12:41:34  |
|  2  |  2014-05-13 12:40:34  |  2014-05-13 12:40:40  |
|  3  |  2014-05-13 12:20:34  |  2014-05-13 12:46:34  | 
+-----+-----------------------+-----------------------+

我想要这个输出

|  3  |  2014-05-13 12:20:34  |  2014-05-13 12:46:34  | 

因为它有来自所有时间戳的最新 start_time_b

最佳答案

引用SQL you posted ,您可以将其放入 Django extra() Queryset modifier :

qs = YourModel.objects.extra(select={
    'max_time': '''
    select * from t where (
        start_time_a in (
            select greatest(max(start_time_a), max(start_time_b)) from t
        ) or start_time_b in (
            select greatest(max(start_time_a), max(start_time_b)) from t
        )
    )'''
})

# each YourModel object in the queryset will have an extra attribute, max_time
for obj in qs:
    print obj.max_time

关于python - 如何从 Django 的两列中获取最新的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23624736/

相关文章:

python - 需要帮助将大文本文件裁剪为多个带标题的小文本文件

Python 下载器

python - 使用Python处理和排序大文件

javascript - 如何在 jquery.post 调用中停止表单提交?

Python - Microsoft 认知验证 API(参数)

mySQL 在 1000A 和 2000A 之间选择

mysql 12小时到24小时时间转换

php - 更新 SQL Server 中 sha2 256 的查询

python - Django naturaltime 本地化错误

python - docker compose up 生成 (2005, "Unknown MySQL server host ' db' (-2)") 错误