2013-04-22 63 views
3

我正在开发一个以MySQL作为后端的Django项目,这个警告让我不安,任何人都可以请为此提出一个修复建议。提前致谢!!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. 

回答

8

你必须做如下修改:

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

USE_TZ = True 

而且,在你的代码,你应该创建aware datetime对象:

例如:

而不是

import datetime 

now = datetime.datetime.now() 

你应该这样做:

from django.utils.timezone import now 

now_time = now() 

这将使使用USE_TZ从settings.py,将创建aware datetime对象,而不是native

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

+1

另一种解决方案是不使用时区感知日期时间,即设置settings.USE_TZ为False。 – 2013-04-22 07:48:09