Django / DRF - 更改时区不起作用

时间:2015-11-07 02:29:06

标签: python django django-rest-framework django-timezone

这是我的settings.py:

TIME_ZONE = 'America/Toronto'

USE_I18N = True

USE_L10N = True

USE_TZ = True

之前,它曾经是TIME_ZONE = 'UTC',但我现在才改变它。我在更改后重新启动了开发服务器并创建了一个帖子,但是创建帖子的日期和时间现在仍然是根据多伦多时区(它仍然遵循它所在的上一个时区)。我的模型使用默认的DateTimeField:

createdAt = models.DateTimeField(auto_now_add=True, blank=True)

为了使时区更改生效,还有其他需要更改的内容吗?我刚试过

python manage.py makemigrations
python manage.py migrate

但它表示未检测到任何变化(如预期的那样)。

编辑:请注意,我也使用DRF和序列化程序来序列化帖子。我不确定这是否会有所不同(我是否需要更改任何DRF设置?)。

1 个答案:

答案 0 :(得分:2)

当启用对时区的支持时,Django将日期时间信息以UTC格式存储在数据库中,在内部使用时区感知日期时间对象,并将它们转换为模板和表单中最终用户的时区。 django docs

所以试试这个

USE_TZ = False