RuntimeWarning:DateTimeField收到一个简单的日期时间

我正在尝试使用IPython发送简单的邮件。我尚未设置任何仍然出现此错误的模型。该怎么办?

Error : /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/init.py:827: RuntimeWarning: DateTimeField received a naive datetime (2013-09-04 14:14:13.698105) while time zone support is active. RuntimeWarning)

已尝试:第一步是添加USE_TZ = True到你的设置文件并安装pytz(如果可能)。

错误已更改:

(learn)sourabh@sL:~/Django/learn/event$ python manage.py shell

/home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:53: RuntimeWarning: SQLite received a naive datetime (2013-09-05 00:59:32.181872) while time zone support is active.

RuntimeWarning)

回答:

问题不在于Django设置,而在于传递给模型的日期。时区感知对象如下所示:

>>> from django.utils import timezone

>>> import pytz

>>> timezone.now()

datetime.datetime(2013, 11, 20, 20, 8, 7, 127325, tzinfo=pytz.UTC)

这是一个幼稚的对象:

>>> from datetime import datetime

>>> datetime.now()

datetime.datetime(2013, 11, 20, 20, 9, 26, 423063)

因此,如果你将电子邮件日期传递到任何地方(并且最终到达某种模型),则只需使用Django的即可now()。如果不是,则可能是现有软件包获取没有时区的日期的问题,你可以修补该软件包,忽略警告或将USE_TZ设置为False。

以上是 RuntimeWarning:DateTimeField收到一个简单的日期时间 的全部内容, 来源链接: utcz.com/qa/425642.html

回到顶部