Django中的DateTimeField和DateField

DateTimeField
日期+時間。
與python裏的 datetime.datetime 實例同。
這裏寫圖片描述
比如,數據庫字段內容爲2018-08-30 16:31:00

有以下兩個可選的選項,均爲bool類型:
參數1:auto_now,默認值爲false,設置爲true時,每次執行 save 操作時,將其值設置爲當前時間,並且每次修改model,都會自動更新。
使用場景:這個參數在需要存儲“最後修改時間”的場景下,十分方便。
注意:設置該參數爲true時,並不意味着字段的默認值設爲當前時間,而是指字段會被“強制”更新到當前時間,你無法程序中手動爲字段賦值;如果使用django自帶的admin管理器,那麼該字段在admin中是隻讀的。

參數2:auto_now_add,默認值爲false,設置爲true時,會在model對象第一次被創建時,將字段的值設置爲創建時的時間,以後修改對象時,字段的值不會再更新。

使用場景:該屬性通常被用在存儲“創建時間”的場景下。

注意:一旦被設置爲True,就無法在程序中手動爲字段賦值,在admin中字段也會成爲只讀的。

auto_now和auto_now_add被設置爲True後,這樣做會導致字段成爲editable=False和blank=True的狀態。editable=False將導致字段不會被呈現在admin中,blank=Ture表示允許在表單中不輸入值。


DateField
日期,與python裏的datetime.date 實例同。
這裏寫圖片描述
比如,數據庫字段內容爲2018-08-30

有以下兩個可選的選項,均爲bool類型:
參數1:auto_now,默認值爲false,設置爲true時,每次執行 save 操作時,將其值設置爲當前時間,並且每次修改model,都會自動更新。
使用場景:這個參數在需要存儲“最後修改時間”的場景下,十分方便。
注意:設置該參數爲true時,並不意味着字段的默認值設爲當前時間,而是指字段會被“強制”更新到當前時間,你無法程序中手動爲字段賦值;如果使用django自帶的admin管理器,那麼該字段在admin中是隻讀的。

參數2:auto_now_add,默認值爲false,設置爲true時,會在model對象第一次被創建時,將字段的值設置爲創建時的時間,以後修改對象時,字段的值不會再更新。

使用場景:該屬性通常被用在存儲“創建時間”的場景下。

注意:一旦被設置爲True,就無法在程序中手動爲字段賦值,在admin中字段也會成爲只讀的。

auto_now和auto_now_add被設置爲True後,這樣做會導致字段成爲editable=False和blank=True的狀態。editable=False將導致字段不會被呈現在admin中,blank=Ture表示允許在表單中不輸入值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章