2012-04-06 77 views
1

我有這樣一個模型:的Django 1.4的DateField和SQLite問題

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管理管理。在那裏,我可以從js小部件中選擇一個日期。該日期在sqlite表中存儲爲yyyy-mm-dd,其中字段爲datetime字段。當再次選擇該值時,通過Some_Model.objects.all()[0],該字段返回None,因爲缺少時間信息,我想。這是什麼?它曾經在django 1.3中工作,但是在遷移之後,它現在失敗了。

回答

3

時區更改是1.4的重要組成部分。我不積極,你的問題與此有關,但我懷疑是這樣。幾點建議:

  1. 閱讀django docs on the timezone changes in 1.4

  2. 嘗試在設置文件中設置USE_TZ = False。這應該強制django日期時間表現爲1.3,並可能解決您的問題。

  3. default=datetime.now替換爲default=now其中now是從django.utils.timezone導入的。提供的django now將根據設置中的值USE_TZ自動包含或排除時區數據。