2016-06-11 15 views
0

我玩弄圍繞django試圖瞭解其哲學的最後編輯時間datetimefiled,我試圖創建一個最後修改條目。我把這個在我的代碼:如何創建,保持在Django

slide_title = models.CharField(max_length=200) 
last_date = models.DateTimeField('last modified',auto_now=True) 
def __str__(self): 
    out = 'title: {}\n last modified: {}'.format(
      self.slide_title, 
      type(self.last_date) 
      ) 
    return out 

但是當我開始shell(使用python manage.py shell)我得到以下

In [2]: from pressent.models import Slide 

In [3]: Slide.objects.all() 
Out[3]: 
[<Slide: title: title 
last modified: <type 'NoneType'>>] 

爲什麼不是一個DateTimeField字段?

+0

您是如何創建對象的?嘗試調用'slide.save()'。 'auto_now'應該設置當對象的save方法被調用時的當前日期時間。 –

回答

1

你做一個auto_now=True。但是,只有在調用Model.save()方法時纔有效。要在創建時填充DateTimeField,您需要添加另一個屬性auto_now_add=True

Reference

+0

我不確定我是否正確地理解了你,如果不保存「幻燈片」,這是可撤銷的,還是應該添加「auto_now_add = True」字段來解決這個問題?無論如何,我更新了我的代碼,並保存了一張新幻燈片,結果相同。 – Yotam

+0

您現有的行不會改變。要查看新的更改,請在「幻燈片」模型中添加一個新條目。 'DateTimeField'應該自動填充。 –