django中的运行时警告

Nir*_*gar 3 mysql django django-models django-timezone

我正在研究一个以MySQL作为后端的Django项目,这个警告让我感到不安,任何人都可以建议修复此问题.提前致谢!!

/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py:808: 
    RuntimeWarning: DateTimeField received a naive datetime (2013-04-22 10:34:44) 
    while time zone support is active.
Run Code Online (Sandbox Code Playgroud)

Aks*_*aaj 8

您必须进行以下更改:

在settings.py中,您需要添加以下行:

USE_TZ = True
Run Code Online (Sandbox Code Playgroud)

此外,在您的代码中,您应该创建aware日期时间对象:

例如:

代替

import datetime

now = datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)

你应该做:

from django.utils.timezone import now

now_time = now()
Run Code Online (Sandbox Code Playgroud)

这将使用USE_TZ settings.py并将创建awaredatetime对象而不是native.

你应该阅读https://docs.djangoproject.com/en/dev/topics/i18n/timezones/

  • 另一个解决方案是不使用时区感知日期时间,即将 settings.USE_TZ 设置为 False。 (2认同)