【发布时间】:2014-02-19 15:05:11
【问题描述】:
我目前正在使用 postgres 数据库开发 Django 项目。 使用朴素时间(用户的本地时间)存储在带有时间戳的数据库中的数据。 然而,在setting.py中,我们有
USE_TZ = True
这意味着 Django ORM 检索到的所有时间戳都转换为 UTC。
一般情况下是可以的。但是,对于我现在正在构建的功能确实需要实时(uesr 的本地时间)。当然,我会获取数据并将时间转换为我想要的任何时间,但有两个问题: 1.我可以把时间戳转换成EST什么的,但是我还是不知道原来的时间; 2. 我想在 ORM 查询期间而不是之后进行转换,因为这样会更有效率。
有人知道这件事吗? 提前致谢!
【问题讨论】:
-
根据您的项目,建议在客户端转换为本地时间(使用 javascript)
-
@goncalopp:我正在处理客户端问题。我正在尝试分析db的日志表(日志表由我定义)。日志中有一个时间戳字段,用于记录客户端发生某些事情的时间。我想要那个时间,但 django 给了我 UTC。我可以通过 psql 或 django 原始查询获取该时间,但不能通过 django orm 获取。在我开始执行 orm 查询时或之前,我需要一种将所有时间转换为原始时间的方法。
标签: python django postgresql orm timezone