Django數據模型——通用字段選項
字段
一個模型最重要也是唯一必需的部分,是它定義的數據庫字段
字段名稱限制
1、字段名不能是pythohn保留字,這樣會導致python語法錯誤
2、字段不能包含連續一個以上的下劃線,這樣會和Django查詢語句語法沖突
通用字段選項
null 如果設置為 True 的話,Django將在數據庫中存儲空值為 NULL 。默認為 False
blank 如果是 True ,該字段允許留空,默認為 False
choices 一個包含雙元素元組的可叠代的對象,用於給字段提供選項
db_column 當前字段在數據庫中對應的列的名字
db_index 如果為 True,創建表格時對這一列穿件數據庫索引
default 字段默認值
editable 如果為False,這個字段在管理那界面或者表單將不能編輯,默認為True
help_text 在管理界面表單對象裏顯示在字段下面的額外幫助文本。即使你沒有管理表單這個屬性對文檔也是有用的
primary_key 如果為 True ,這個字段就會成為模型的主鍵
radio_admin 對於 ForeignKey 或者擁有 choices 設置的字段,Django管理界面會使用列表選擇框(<select>)。如果 radio_admin 設置為 True 的話,Django就會使用單選按鈕界面。 如果字段不是 ForeignKey 或者沒有 choices 設置的話,就不要對字段只用這個選項。
unique 如果是 True ,這個字段的值在整個表中必須是唯一的
unique_for_date 把它的值設成一個 DataField 或者 DateTimeField 的字段的名稱,可以確保字段在這個日期內不會出現重復值
unique_for_month 和 unique_for_date 類似,只是要求字段在指定字段的月份內唯一
unique_for_year 和 unique_for_date 及 unique_for_month 類似,只是時間範圍變成了一年
verbose_name ManyToManyField 和 OneToOneField 之外的字段都接受一個詳細名稱作為第一個位置參數。如果詳細名稱沒有給定的話,Django會把字段的屬性名中的下劃線轉化成空格後的字符串當作詳細名稱。
例:詳細名稱是 "Person‘s first name" : first_name = models.CharField("Person‘s first name", maxlength=30) 下面的例子中,詳細名稱是 "first name" : first_name = models.CharField(maxlength=30) ForeignKey 、 ManyToManyField 和 OneToOneField 要求第一個參數是一個模型類,所以只能使用關鍵字參數 verbose_name : poll = models.ForeignKey(Poll, verbose_name="the related poll") sites = models.ManyToManyField(Site, verbose_name="list of sites") place = models.OneToOneField(Place, verbose_name="related place") 這種轉換不會把 verbose_name 的首字母大寫,Django會根據需求自動大寫首字母。
Django數據模型——通用字段選項