Django 數據模型的字段列表整理


一個模型最重要也是唯一必需的部分,是它定義的數據庫字段。

字段名稱限制:

1.一個字段名不能是一個Python保留字,因為那樣會導致一個Python語法錯誤。

2.一個字段名不能包含連續的一個以上的下划線,因為那是Django查詢語句的語法。

 

字段列表縱覽表

字段名

參數

意義

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管理界面會使用列表選擇框(<select>)。如果 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 之外的字段都接受一個詳細名稱作為第一個位置參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM