我在 Django 1.8 模型中有一个 DateField,例如:
from django.db import models
birth_date = models.DateField()
当它进入一个表单时,我得到一个“天真的”对象:
birth_date = the_form.cleaned_data['birth_date']
在调试器中打印birth_date:
ipdb> birth_date
datetime.date(2015, 6, 7)
然后,当这个东西被保存到数据库时,我会收到一个警告,正如文档所承诺的那样:
RuntimeWarning: SQLite received a naive datetime (2015-06-08 01:08:21.470719) while time zone support is active.
我已经阅读了一些关于此的 文章,但我仍然感到困惑。我应该怎么处理这个日期?
我是否应该将其转换为 DateTime,使其具有时区感知能力,然后再转换回 Date?我应该将模型设为 DateTimeField 并放弃 DateFields 吗?这里有哪些最佳实践?