在对象上进行数据检索时丢失时区

时间:2017-09-27 12:50:28

标签: python django postgresql timezone

我有一个模型,其开始日期为DateTimeField作为时间戳。当我创建模型的新对象并将它们存储在PostgreSQL数据库中时,给定的时区为Europe/Berlin

我在调用save()之前确认了它,并且条目在数据库中具有正确的偏移量。数据库的时区也与对象的时区匹配。

但是当我在.filter()上检索模型的对象时,时区设置为UTC,所以我失去了时区。当然它也应该是Europe/Berlin。内部settings.py也是正确的时区:

TIME_ZONE = 'Europe/Berlin' 

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

以下帖子提供了问题的答案:

return datetimes in the active timezone with a django query

这篇文章的答案表明Django将始终返回UTC,因此必须在查询后规范化日期。案件结案。