Django model 欄位型別及選項解析
阿新 • • 發佈:2019-02-14
Field 選項
null
boolean 值,預設設定為false。通常不將其用於字元型欄位上,比如CharField,TextField上。字元型欄位如果沒有值會返回空字串。
blank
boolean 值,該欄位是否可以為空。如果為假,則必須有值。
choices
元組值,一個用來選擇值的2維元組。第一個值是實際儲存的值,第二個用來方便進行選擇。如SEX_CHOICES=((‘F’,’Female’),(‘M’,’Male’),)
db_column
string 值,指定當前列在資料庫中的名字,不設定,將自動採用model欄位名;
db_index
boolean 值,如果為True將為此欄位建立索引;
default
給當前欄位設定的預設值,可以是一個具體值,也可以是一個可呼叫的物件,如果是可呼叫的物件將每次產生一個新的物件;
editable
boolean 值,如果為假,admin模式下將不能改寫。預設為真;
error_messages
字典,設定預設的出錯資訊,可覆蓋的key 有 null, blank, invalid, invalid_choice, 和 unique。
help_text
admin模式下幫助文件
form widget 內顯示幫助文字。
primary_key
設定主鍵,如果沒有設定django建立表時會自動加上:id = meta.AutoField(‘ID’, primary_key=True)
primary_key=True implies blank=False, null=False and unique=True. Only one primary key is allowed on an object.
radio_admin
用於 admin 模式下將 select 轉換為 radio 顯示。只用於 ForeignKey 或者設定了choices
unique
boolean值,資料是否進行唯一性驗證;
unique_for_date
字串型別,值指向一個DateTimeField 或者 一個 DateField的列名稱。日期唯一,如下例中系統將不允許title和pub_date兩個都相同的資料重複出現
title = meta.CharField( maxlength=30, unique_for_date=’pub_date’ )
unique_for_month / unique_for_year
用法同上
verbose_name
string型別。更人性化的列名。
validators
有效性檢查。無效則丟擲 django.core.validators.ValidationError 異常。
如何實現檢查器 見:https://docs.djangoproject.com/en/dev/ref/validators/