Django中的日期和时间格式 DateTimeField
創(chuàng)建django的model時(shí),有DateTimeField、DateField和TimeField三種類型可以用來創(chuàng)建日期字段,其值分別對應(yīng)著datetime()、date()、time()三中對象。這三個(gè)field有著相同的參數(shù)auto_now和auto_now_add,表面上看起來很easy,但實(shí)際使用中很容易出錯(cuò),下面是一些注意點(diǎn)。
DateTimeField.auto_now
這個(gè)參數(shù)的默認(rèn)值為false,設(shè)置為true時(shí),能夠在保存該字段時(shí),將其值設(shè)置為當(dāng)前時(shí)間,并且每次修改model,都會自動更新。因此這個(gè)參數(shù)在需要存儲“最后修改時(shí)間”的場景下,十分方便。需要注意的是,設(shè)置該參數(shù)為true時(shí),并不簡單地意味著字段的默認(rèn)值為當(dāng)前時(shí)間,而是指字段會被“強(qiáng)制”更新到當(dāng)前時(shí)間,你無法程序中手動為字段賦值;如果使用django再帶的admin管理器,那么該字段在admin中是只讀的。
DateTimeField.auto_now_add
這個(gè)參數(shù)的默認(rèn)值也為False,設(shè)置為True時(shí),會在model對象第一次被創(chuàng)建時(shí),將字段的值設(shè)置為創(chuàng)建時(shí)的時(shí)間,以后修改對象時(shí),字段的值不會再更新。該屬性通常被用在存儲“創(chuàng)建時(shí)間”的場景下。與auto_now類似,auto_now_add也具有強(qiáng)制性,一旦被設(shè)置為True,就無法在程序中手動為字段賦值,在admin中字段也會成為只讀的。
轉(zhuǎn)載于:https://www.cnblogs.com/LYliangying/p/9598956.html
總結(jié)
以上是生活随笔為你收集整理的Django中的日期和时间格式 DateTimeField的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。