2013-04-22 110 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