我正在使用 Postgres 运行 Django。
- 我想要从数据库返回时区感知日期时间对象。
- 我希望查询集中的所有日期时间都设置为用户的语言环境,而不是 UTC。
- 如果我在设置中设置,我可以在查询集中获得时区感知日期
USE_TZ=True
,但它们都是 UTC。- 如果
USE_TZ=False
和 setTIME_ZONE='America/New_York'
,我可以在用户正确的语言环境中得到我的结果,但日期都是幼稚的。
默认情况下,如何在我的查询集中返回的用户语言环境中获取时区感知日期时间?
循环遍历结果并手动设置它们不是一种选择。实在是太慢了
我对 Django 在渲染时(即在模板或序列化程序中)将日期转换为用户时区的能力不感兴趣。我需要处理视图之前的时区偏移日期。
注意:我想我已经阅读了有关此主题的整个 Internet,并发现了一篇 SO 帖子(Ouput timezone aware django datetime fields without filters)与我想解决的问题很接近,但没有提供解决方案。