运行时警告

0 投票
1 回答
730 浏览
提问于 2025-04-17 23:33

我使用了

python manage.py dumpdata --format yaml > test.yaml

test.yaml文件里,我有这样的内容:

- fields: {test1: "my test", date: !!timestamp '2014-03-20 02:08:28+00:00', date_updated: !!timestamp '2014-03-20
      02:08:28+00:00', test: true,}

然后我使用:

python manage.py loaddata test

在日志中我看到:

RuntimeWarning: DateTimeField Test.date received a naive datetime (2014-03-20 06:08:28) while time zone support is active.
  RuntimeWarning)

在模型里我有:

Class Test(models.Model):
    # many fields
    date = models.DateTimeField(auto_now_add=True, auto_now=False,)
    date_updated = models.DateTimeField(auto_now_add=False, auto_now=True,)

怎么解决这个警告呢?

谢谢。

1 个回答

0

有两种方法。

第一种是关闭你网站设置中的时区支持。这个选项叫做 USE_TZ

第二种方法是确保在把日期时间插入数据库时,使用的是一个支持时区的日期时间对象。Django 提供了一个时区类,可以用来创建支持时区的日期时间对象。

相关文档:https://docs.djangoproject.com/en/1.6/topics/i18n/timezones/

撰写回答