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表示允許在表單中不輸入值。

 

 

轉自:https://blog.csdn.net/winfred_hua/article/details/82223946


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM