Django 資料模型欄位及屬性

2021-07-31 11:47:10 字數 4323 閱讀 7730

autofield

乙個能夠根據可用id自增的 integerfield 

booleanfield

乙個真/假(true/false)字段

charfield

(max_length)

乙個字串字段,適用於中小長度的字串。對於長段的文字,請使用 textfield

commaseparatedintegerfield

(max_length)

乙個用逗號分隔開的整數字段

datefield

([auto_now], [auto_now_add])

日期字段

datetimefield

時間日期字段

,接受跟 datefield 一樣的額外選項

emailfield

乙個能檢查值是否是有效的電子郵件位址的 charfield 

filefield

(upload_to)

乙個檔案上傳字段

filepathfield

(path,[match],[recursive])

乙個擁有若干可選項的字段,選項被限定為檔案系統中某個目錄下的檔名

floatfield

(max_digits,decimal_places)

乙個浮點數,對應python中的 float 例項

imagefield

(upload_to

, [height_field] ,[width_field])

像 filefield 一樣,只不過要驗證上傳的物件是乙個有效的。

integerfield

乙個整數。

ipaddressfield

乙個ip位址,以字串格式表示(例如: "24.124.1.30" )。

nullbooleanfield

就像乙個 booleanfield ,但它支援 none /null 。

phonenumberfield

它是乙個 charfield ,並且會檢查值是否是乙個合法的美式**格式

positiveintegerfield

和 integerfield 類似,但必須是正值。

positivesmallintegerfield

與 positiveintegerfield 類似,但只允許小於一定值的值

,最大值取決於資料庫.

slugfield

嵌條 就是一段內容的簡短標籤,這段內容只能包含字母、數字、下

劃線或連字元。通常用於url中

smallintegerfield

和 integerfield 類似,但是只允許在乙個資料庫相關的範圍內的數值(通常是-32,768到

+32,767)

textfield

乙個不限長度的文字字段

timefield

時分秒的時間顯示。它接受的可指定引數與 datefield 和 datetimefield 相同。

urlfield

用來儲存url的字段。

usstatefield

美國州名稱縮寫,兩個字母。

xmlfield

(schema_path)

它就是乙個 textfield ,只不過要檢查值是匹配指定schema的合法xml。

通用字段引數列表(所有的字段型別都可以使用下面的引數,所有的都是可選的。)

引數名 意義

null

如果設定為 true 

的話,django

將在資料庫中儲存空值為 

null 

。預設為 

false 。 

blank

如果是 true 

,該欄位允許留空,預設為 

false 。

choices

乙個包含雙元素元組的可迭代的物件,用於給字段提供選項。

db_column

當前欄位在資料庫中對應的列的名字。

db_index

如果為 true 

,django

會在建立**(比如執行 

manage.py syncdb 

)時對這一列建立資料庫索引。

default

欄位的預設值

editable

如果為 false 

,這個欄位在管理介面或表單裡將不能編輯。預設為 

true 。

help_text

在管理介面表單物件裡顯示在字段下面的額外幫助文字。

primary_key

如果為 true 

,這個欄位就會成為模型的主鍵。

radio_admin

預設地,對於 foreignkey 

或者擁有 

choices 

設定的字段,

django

管理介面會使用列表選擇框(

)。如果 

radio_admin 

設定為 

true 

的話,django

就會使用單選按鈕介面。 

unique

如果是 true 

,這個欄位的值在整個表中必須是唯一的。

unique_for_date

把它的值設成乙個 datafield 

或者 datetimefield 

的字段的名稱,可以確保欄位在這個日期內不會出現重複值。

unique_for_month

和 unique_for_date 

類似,只是要求欄位在指定欄位的月份內唯一。

unique_for_year

和 unique_for_date 

及 unique_for_month 

類似,只是時間範圍變成了一年。

verbose_name

除 foreignkey 

、 manytomanyfield 

和 onetoonefield 

之外的字段都接受乙個詳細名稱作為第乙個位置引數。

Django 資料模型高階

訪問外來鍵 foreignkey 值 當你訪問乙個外來鍵屬性時,獲取的是乙個資料模型物件 models.py from django.db import models class publisher models.model name models.charfield max length 50 w...

鹹魚筆記 Django模型(字段屬性)

學習版本 django 1.8.python 3.5 模型 欄位屬性 模型類屬性命名限制 不能是python的保留關鍵字 不允許使用連續的下劃線 定義屬性時需要指定字段型別,通過字段型別的引數指定選項,語法如下 屬性名 models.欄位型別 選項 字段型別 使用時 需要倒入包django.db.m...

概念資料模型 邏輯資料模型 物理資料模型

概念資料模型設計與邏輯資料模型設計 物理資料模型設計是資料庫及資料倉儲模型設計的三個主要步驟。在資料倉儲領域有乙個概念叫conceptual data model,中文一般翻譯為 概念資料模型 概念資料模型是終端使用者對資料儲存的看法,反映了終端使用者綜合性的資訊需求,它以資料類的方式描述企業級的資...