django學習 24 建立時間和更新時間的新增

2022-05-10 08:55:47 字數 2082 閱讀 1002

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管理後台

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

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

每個模型類裡,都有datetimefield和datefield和timefield這三種類,這三種類可以分別用來建立三種不同日期型別的資料表字段;

這三種類有著相同的引數:auto_now和auto_now_add;

細節:①.當這三種類裡的任意乙個類裡的入參值auto_now或者auto_now_add的值被設定為true後,會導致:類裡的入參editable值變為false,類裡的入參blank的值變為true。

②.入參editable值為false,表示:對應表字段不會被展示在admin管理後台裡的任何乙個頁面裡比如不會展示在新增頁面不會展示在修改頁面;

④.入參auto_now和入參auto_now_add的值不能同時設定為true;

入參auto_now的預設值為false;

當入參auto_now的值被設定為true,表示:當一條新資料被修改成功後,將該入參auto_now對應的表字段的值設定為修改成功時的系統時間;

入參auto_now_add的預設值為false;

當入參auto_now_add的值被設定為true,表示:當一條新資料被建立成功後,將該入參auto_now_add對應的表字段的值設定為建立成功時的系統時間,以後修改這條新資料時,該表字段的值不會再更新;

#

新增乙個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) #

更新時間

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

Django 建立應用(django學習04)

1 開啟命令列,切換到manage.py同級目錄 介紹一下每個模組的功能和作用 migrations 資料一致 遷移 模組,和資料庫有關,一般不動 admin.py 當前應用的後台管理系統配置,django自帶 models.py 資料模組,跟建立資料庫有掛,使用orm框架,類似於mvc中的mode...

Django學習 建立template

1 在應用目錄下建立乙個templates資料夾,而後在檔案中建立需要的html檔案 2 而後在應用目錄的views.py中用render 函式將template加入進來,並且可以傳遞資料。傳入的資料在html中用 資料繫結的形式讀取資料。render 函式 第乙個引數為呼叫它函式的請求,第二個引數...

Django框架學習 入門 查詢集(2 4)

查詢集表示從資料庫中獲取的物件集合,在管理器上呼叫某些過濾器方法會返回查詢集,查詢集可以含有零個 乙個或多個過濾器。過濾器基於所給的引數限制查詢的結果,從sql的角度,查詢集和select語句等價,過濾器像where和limit子句。返回查詢集的過濾器如下 返回單個值的過濾器如下 count 返回當...