Django中的DateTimeField和DateField實現
DateTimeField
日期+時間。
與python里的 datetime.datetime 實例同。
比如,數據庫字段內容為2018-08-30 16:31:00
有以下兩個可選的選項,均為bool類型:
參數1:auto_now,默認值為false,設置為true時,每次執(zhí)行 save 操作時,將其值設置為當前時間,并且每次修改model,都會自動更新。
使用場景:這個參數在需要存儲“最后修改時間”的場景下,十分方便。
注意:設置該參數為true時,并不意味著字段的默認值設為當前時間,而是指字段會被“強制”更新到當前時間,你無法程序中手動為字段賦值;如果使用django自帶的admin管理器,那么該字段在admin中是只讀的。
參數2:auto_now_add,默認值為false,設置為true時,會在model對象第一次被創(chuàng)建時,將字段的值設置為創(chuàng)建時的時間,以后修改對象時,字段的值不會再更新。
使用場景:該屬性通常被用在存儲“創(chuàng)建時間”的場景下。
注意:一旦被設置為True,就無法在程序中手動為字段賦值,在admin中字段也會成為只讀的。
auto_now和auto_now_add被設置為True后,這樣做會導致字段成為editable=False和blank=True的狀態(tài)。editable=False將導致字段不會被呈現在admin中,blank=Ture表示允許在表單中不輸入值。
DateField
日期,與python里的datetime.date 實例同。
比如,數據庫字段內容為2018-08-30
有以下兩個可選的選項,均為bool類型:
參數1:auto_now,默認值為false,設置為true時,每次執(zhí)行 save 操作時,將其值設置為當前時間,并且每次修改model,都會自動更新。
使用場景:這個參數在需要存儲“最后修改時間”的場景下,十分方便。
注意:設置該參數為true時,并不意味著字段的默認值設為當前時間,而是指字段會被“強制”更新到當前時間,你無法程序中手動為字段賦值;如果使用django自帶的admin管理器,那么該字段在admin中是只讀的。
參數2:auto_now_add,默認值為false,設置為true時,會在model對象第一次被創(chuàng)建時,將字段的值設置為創(chuàng)建時的時間,以后修改對象時,字段的值不會再更新。
使用場景:該屬性通常被用在存儲“創(chuàng)建時間”的場景下。
注意:一旦被設置為True,就無法在程序中手動為字段賦值,在admin中字段也會成為只讀的。
auto_now和auto_now_add被設置為True后,這樣做會導致字段成為editable=False和blank=True的狀態(tài)。editable=False將導致字段不會被呈現在admin中,blank=Ture表示允許在表單中不輸入值。
到此這篇關于Django中的DateTimeField和DateField實現的文章就介紹到這了,更多相關Django DateTimeField和DateField內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中連通域分割Two-Pass算法的原理與實現詳解
兩遍掃描法(?Two-Pass?),正如其名,指的就是通過掃描兩遍圖像,將圖像中存在的所有連通域找出并標記,本文將詳細介紹Two-Pass算法的原理與實現,需要的可以參考下2023-12-12Linux(Redhat)安裝python3.6虛擬環(huán)境(推薦)
這篇文章主要介紹了Linux(Redhat)安裝python3.6虛擬環(huán)境,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2018-05-05