1

我有一个这样的模型:

class Some_Model(django.Model):
    name         = models.CharField(max_length=255)
    some_date    = models.DateField(default=datetime.now)

    def __unicode__(self):
        return self.name

..我通过 django admin 管理。在那里,我可以从 js 小部件中选择一个日期。日期存储yyyy-mm-dd在 sqlite 表中,其中字段是datetime字段。再次选择值时, via Some_Model.objects.all()[0],该字段返回None,因为时间信息丢失了,我猜。这是什么?它曾经在 django 1.3 中工作,但在迁移后,它现在失败了。

4

1 回答 1

3

时区更改是 1.4 的重要组成部分。我不肯定你的问题与此有关,但我怀疑它是。几点建议:

  1. 阅读有关1.4 中时区更改的 django 文档

  2. 尝试USE_TZ = False在您的设置文件中进行设置。这应该强制 django datetimes 表现得像 1.3 并且可能会解决您的问题。

  3. 替换default=datetime.now为从default=now哪里now导入django.utils.timezone。提供的 djangonow将根据设置中的值自动包含或排除时区数据USE_TZ

于 2012-04-06T15:50:10.190 回答