django框架學習:十八.添加創建時間DateTimeFiled


前言

admin后台發布文章時,一般會有創建時間和最后更新時間這2個字段,創建時間是第一次創建時添加的,最后更新時間是每次更新內容時間更新。

在models.py文件創建表時,設置create_time 和update_time 類型為DateTimeFiled,添加auto_now_add和auto_now參數。

DateTimeField

創建django的modles.py文件,有DateTimeField、DateField和TimeField分別對應datetime(),date(),time(),分別有auto_now_add和auto_now參數對應。

auto_now_add 默認值為false,設置為True時會在model對象第一次被創建時,將字段的值設置為創建的時間,以后修改對象時,字段的值不會再更新。該屬性通常被用在存儲“創建時間的場景下”,auto_now_add具有強制性,一旦被設置為True,就無法在程序中手動為字段賦值,在admin中字段也會成為只讀的。

auto_now默認值為false,設置為True時,在保存字段時會自動設置為當前時間,通常應用場景為“最后修改時間”場景下,十分方便。在django自帶的admin管理器,該字段在admin中是只讀的,例:

在models.py下新建一個Article類,添加標題title,body內容,auth,create_time 和update_time ,字符串類型:CharFiled,必須要有max_length,如果正文內容很多時,需要使用TextField,代碼如下:

 

 將創建的表注冊到admin管理后台

 

終端命令行下執行以下兩條命令:

 python manage.py makemigrations

python manage.py migrate

打開navicat數據庫客戶端查看同步表格

 

 登錄admin后台管理頁面

輸入命令行:python manage.py runserver 0.0.0.0:8000

 打開admin后台,新增一條記錄

 

 對 article數據庫進行編輯

 

 列表頁面顯示結果如下,如果重新編輯的話,最后更新時間也會更新

 

 如果獲取的當前時間顯示和我們的時間相差八個小時,需要在setting.py設置 TIME_ZONE = 'Asia/Shanghai' ,我這里已經設置好了。


免責聲明!

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



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