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

jay*_*yde 1 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)
Run Code Online (Sandbox Code Playgroud)

在我的系统上,台北也被用作我的时区: 在此输入图像描述

在MySQL Workbench上,我已经查询了全局和会话tz,它们的返回值是"SYSTEM": 在此输入图像描述

我的问题是当一个条目添加到DB时,系统上和settings.py上指定的时区未被使用.查看示例快照: 在此输入图像描述

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

Siv*_*lam 6

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

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

当USE_TZ为False时,这是Django存储所有日期时间的时区.当USE_TZ为True时,这是Django用于在模板中显示日期时间和解释在表单中输入的日期时间的默认时区.

有关详细信息,请参阅