Django模型中常用的字段型別及選項整理

2021-10-14 16:37:57 字數 1900 閱讀 5112

常用字段型別:

模型欄位名

說明mysql對應欄位名

autofield

自增字段,如果沒有指定將自動新增乙個名為"id"的自增主鍵字段

int(11)

integerfield

整數字段

intbigintegerfield

類似於integerfield,乙個64位的整數

bigint

smallintegerfield

類似於integerfield,-32768到32767

smallint

positiveintegerfield

類似於integerfield,但必須為正數或0

intpositivesmallintegerfield

類似於integerfield,0到32767

smallint

binaryfield

用於儲存原始二進位制資料的字段。它可以分配bytes、bytearray或memoryview

longblob

booleanfield

布林值字段

tinyint(1)

charfield

字串字段,從小到大的字串。對於大量文字,請使用textfield。

varchar

decimalfield

固定精度的十進位制數字

decimal

emailfield

郵件字段

varchar

floatfield

郵件浮點數字段

double

genericipaddressfield

字串格式的ipv4或ipv6位址

char(39)

slugfield

僅包含字母,數字,下劃線或連字元。它們通常在url中使用。

varchar

textfield

大文字字段

longtext

urlfield

乙個charfield乙個url

varchar

uuidfield

用於儲存通用唯一識別符號的字段。使用python的 uuid類。

char(32)

選項:

選項名說明null

設定為true時,意味著「無資料」有兩種可能:null和空字串,當設定了blank=true時,null也需要設定為true

blank

設定為true時表示允許為空,為false時則表示不允許為空

max_length

當前欄位的最大長度

db_column

用於該字段的資料庫列的名稱。如果未指定,則django將使用該字段的名稱。如果您的資料庫列名稱是sql保留字,或者包含python變數名稱中不允許使用的字元(尤其是連字元),那可以。django在幕後引用列名和表名。

db_index

如果為true,將為此字段建立資料庫索引。

db_tablespace

如果此字段已建立索引,則用於該字段的索引的資料庫表空間的名稱。預設值是專案的 default_index_tablespace設定(如果已設定)或 db_tablespace模型的設定(如果有)。如果後端不支援索引的表空間,則忽略此選項。

default

設定預設值,預設值需與當前欄位同型別

primary_key

如果設定為true,則初始設定為該模型的主鍵。乙個物件只允許使用乙個主鍵。

unique

如果設定為true,這個字段必須在整個表中保持值唯一,且將會建立索引。

validators

為此字段執行的驗證器列表。

verbose_name

欄位的易讀名稱(注釋)。

Django 模型字段 ImageField

class imagefield upload to none height field none width field none max length 100,options 從filefield繼承所有屬性和方法,但也會驗證上載的物件是否為有效影象。除了filefield可用的特殊屬性外,im...

django擴充套件已有模型的字段

有時,我們需要擴充套件model的filed,比如想為每條記錄都附加乙個字段。我們可以使用模型自定義方法及python的內建函式property來實現。1.定義模型如下 其中自定義的 get section方法返回confitem的外來鍵的外來鍵。2.修改檢視admin.py中以顯示這個新字段 3....

django模型 欄位和選項

一 常用字段 1 字段型別 使用時需要引入django.db.models包,字段型別如下 autofield 自動增長的integerfield,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性 booleanfield 布林字段,值為true或false nullboole...