Django5 資料庫之模型字段

2021-10-13 12:17:30 字數 3238 閱讀 4883

欄位名型別

備註models.autofield

自增列 int()

如果沒有的話,缺省會生成乙個名稱為 id 的列,如果要顯示的自定義乙個自增列,必須將給列設定為主 鍵 primary_key=true。

models.charfield

字串字段

用於從資料庫層和django校驗層限制該字段所允許的最大字元數。必須 max_length 引數

models.booleanfield

布林型別 tinyint(1)

不能為空,blank=true

models.comaseparatedintegerfield

用逗號分割的數字 varchar

繼承charfield,所以必須 max_length 引數

models.datefield

日期型別 date

對於引數,auto_now = true 則每次更新都會更新這個時間;auto_now_add 則只是第一次建立新增,之後的更新不再改變。

models.datetimefield

日期型別 datetime

同datefield的引數

models.decimal

十進位制小數型別 decimal

必須指定整數字max_digits 小數字decimal_places

models.emailfield

字串型別(正規表示式郵箱) varchar

對字串進行正規表示式

models.decimalfield

浮點型別 double

#乙個浮點數. 必須 提供兩個引數: 引數描述 #max_digits 總位數(不包括小數點和符號 ) #decimal_places 小數字數 #舉例來說, 要儲存最大值為 999 (小數點後儲存2位),你要這樣定義字段:#models.floatfield(…, max_digits=5, decimal_places=2)#要儲存最大值一百萬(小數點後儲存10位)的話,你要這樣定義:#models.floatfield(…, max_digits=19, decimal_places=10)#admin 用乙個文字框()表示該欄位儲存的資料.

models.integerfield

整形models.bigintegerfield

長整形models.genericipaddressfield

字串型別

引數protocol可以是:both、ipv4、ipv6 驗證時,會根據設定報錯

models.nullbooleanfield

允許為空的布林型別

models.positiveintegerfiel

正integer

models.positivesmallintegerfield

正smallinteger

models.slugfield

減號、下劃線、字母、數字

models.smallintegerfield

數字資料庫中的字段有:tinyint、smallint、int、bigint

models.textfield

字串 longtext

models.timefield

時間 hh:mm[:ss[.uuuuuu]]

models.urlfield

字串,位址正規表示式

models.binaryfield

二進位制models.imagefield

models.filepathfield

檔案乙個檔案或者上傳欄位.

null -> db是否可以為空

default -> 預設值

primary_key -> 主鍵

db_column -> 列名

db_index -> 索引

unique -> 唯一索引

unique_for_date ->

unique_for_month

unique_for_year

auto_now -> 更新時,自動更新為當前時間

auto_now_add -> 建立時,自動生成時間

choices -> django admin中顯示下拉框,避免連表查詢

blank -> django admin是否可以為空

verbose_name -> django admin顯示字段中文

editable -> django admin是否可以被編輯

error_messages -> 錯誤資訊欠

help_text -> django admin提示

validators -> django

form, 自定義錯誤資訊(欠)

官方文件:

class

book

(models.model)

: name = models.charfield(max_length=

20,null=

false

) desc = models.charfield(max_length=

100,name=

'description'

,db_column=

"description1"

)class

meta

: db_table =

'book_model'

以下將對meta類中的一些常用配置進行解釋。

class

book

(models.model)

: name = models.charfield(max_length=

20,null=

false

) desc = models.charfield(max_length=

100,name=

'description'

,db_column=

"description1"

) pub_date = models.datetimefield(auto_now_add=

true

)class

meta

: db_table =

'book_model'

ordering =

['pub_date'

]

官方文件:

資料庫字段 django

資料庫型別 autofield 自動增長的主鍵id,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性 booleanfield 布林字段,值為true或false。許可權管理 nullbooleanfield 布林字段,支援null true false三種值。default ...

Django資料庫模型的字段型別總結

v models.charfield max length none options varchar v models.emailfield max length 75,options varchar v models.urlfield verify exists true,max length 2...

Django資料庫模型的字段型別總結

v models.charfield max length none options varchar v models.emailfield max length 75,options varchar v models.urlfield verify exists true,max length 2...