Django:存储在MySQL DB中的时区不正确

时间:2013-02-19 07:24:09

标签: mysql django timezone

我有一个应用程序在settings.py中使用'Asia / Taipei'作为其时区,并在models.py上的datetimefield上使用auto_now = true:

--- settings.py ---
TIME_ZONE = 'Asia/Taipei'
--- models.py ---
models.DateTimeField(auto_now=True)

在我的系统上,台北也被用作我的时区: enter image description here

在MySQL Workbench上,我已经查询了全局和会话tz,它们的返回值是“SYSTEM”: enter image description here

我的问题是当一个条目被添加到DB时,系统上和settings.py上指定的时区未被使用。查看示例快照: enter image description here

我缺少什么?做错了?提前谢谢!

2 个答案:

答案 0 :(得分:6)

通常,数据库默认存储UTC时间,相应的应用程序将根据设置/配置进行转换。

在您的情况下,这取决于您的USE_TZ设置。

  

当USE_TZ为False时,这是Django将存储的时区   所有日期时间。当USE_TZ为True时,这是默认时区   Django将用于在模板中显示日期时间并进行解释   在表格中输入的日期时间。

有关详细信息,请参阅

答案 1 :(得分:4)

它现在正在运作。我只是设置 USE_TZ = False