django學習-24.創建時間和更新時間的添加

目錄結構

1.前言

2.入參auto_now和入參auto_now_add

2.1.入參auto_now的相關知識點

2.2.入參auto_now_add的相關知識點

3.完整的操作流程

3.1.第一步:創建一個模型類

3.2.第二步:創建數據表

3.3.第三步:【admin.py】裏進行配置

3.4.第四步:成功登陸admin管理後臺

3.5.第五步:成功新增一篇文章

3.6.第六步:成功更新一篇文章

 

 

 

1.前言

我們通過admin管理後臺新增一篇文章的時候,一般都要有【創建時間】和【最後更新時間】這2個字段,並且我們希望這2個字段的賦值規則如下:

  • 第一次新增文章內容成功後:【創建時間】和【最後更新時間】的值都會被自動賦值爲新增文章成功時的系統時間,此時【創建時間】和【最後更新時間】的值一定相等;
  • 每次修改文章內容成功後:【創建時間】的值都不變都一直是新增文章成功時的系統時間,【最後更新時間】的值會被自動更新賦值爲修改文章內容成功時的系統時間,此時【創建時間】和【最後更新時間】的值一定不相等;

細節:

①.每張數據表在設計階段,其實都應該都要有【創建時間】和【最後更新時間】這2個字段,因爲這2個字段經常會被用於做數據排序展示的條件。

2.入參auto_now和入參auto_now_add

每個模型類裏,都有DateTimeField和DateField和TimeField這三種類,這三種類可以分別用來創建三種不同日期類型的數據表字段;

這三種類有着相同的參數:auto_now和auto_now_add;

細節:

①.當這三種類裏的任意一個類裏的入參值auto_now或者auto_now_add的值被設置爲True後,會導致:類裏的入參editable值變爲False,類裏的入參blank的值變爲True。

②.入參editable值爲False,表示:對應表字段不會被展示在admin管理後臺裏的任何一個頁面裏比如不會展示在新增頁面不會展示在修改頁面;

③.入參blank的值爲True,表示: 允許用戶在新增/編輯頁面中不用輸入對應表字段的值;

④.入參auto_now和入參auto_now_add的值不能同時設置爲True;

2.1.入參auto_now的相關知識點

入參auto_now的默認值爲False;

當入參auto_now的值被設置爲True,表示:當一條新數據被修改成功後,將該入參auto_now對應的表字段的值設置爲修改成功時的系統時間;

2.2.入參auto_now_add的相關知識點

入參auto_now_add的默認值爲False;

當入參auto_now_add的值被設置爲True,表示:當一條新數據被創建成功後,將該入參auto_now_add對應的表字段的值設置爲創建成功時的系統時間,以後修改這條新數據時,該表字段的值不會再更新;

 

3.完整的操作流程

3.1.第一步:創建一個模型類

# 新增一個Article類
class Article(models.Model):
    '''文章'''
    title = models.CharField(max_length=30)  # 標題
    body  = models.TextField() # 正文(因爲文章的正文字數會很多,所以需要使用該類TextField)
    author = models.CharField(max_length=10) # 作者
    create_time = models.DateTimeField(auto_now_add=True)  # 創建時間
    update_time = models.DateTimeField(auto_now=True)      # 更新時間

 

3.2.第二步:創建數據表

通過遷移相關的命令行,比如【python manage.py makemigrations】和【python manage.py migrate】進行創建,相關操作在之前的博客有提到,這裏不具體再展開描述;

 

 

 

3.3.第三步:【admin.py】裏進行配置

class ControllerArticle(admin.ModelAdmin):
    list_display = ("title","author","body","create_time","update_time")
    search_fields = ("title",)


admin.site.register(models.Article,ControllerArticle)

 

 

3.4.第四步:成功登陸admin管理後臺

3.5.第五步:成功新增一篇文章

 

3.6.第六步:成功更新一篇文章

 

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