學習版本: django 1.8. python 3.5
模型-欄位屬性
模型類屬性命名限制
不能是python的保留關鍵字
不允許使用連續的下劃線
定義屬性時需要指定字段型別,通過字段型別的引數指定選項,語法如下:
屬性名=models.欄位型別(選項)
字段型別
使用時 需要倒入包django.db.models
型別
描述autofield
自動增長的integerfield,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性。
booleanfield
布林字段,值為true或false。
nullbooleanfield
支援null、true、false三種值。
charfield(max_length=最大長度)
字串。引數max_length表示最大字元個數。
textfield
大文字字段,一般超過4000個字元時使用。
integerfield
整數decimalfield(max_digits=none, decimal_places=none)
十進位制浮點數。引數max_digits表示總位。引數decimal_places表示小數字數。
floatfield
浮點數。引數同上
datefield:([auto_now=false, auto_now_add=false])
日期。1)引數auto_now表示更新的時間,預設為false。2)引數auto_now_add表示建立的時間,它總是使用當前日期,預設為false。3)引數auto_now_add和auto_now是相互排斥的,組合將會發生錯誤。
timefield
時間,引數同datefield。
datetimefield
日期時間,引數同datefield。
filefield
上傳檔案字段。
imagefield
繼承於filefield,對上傳的內容進行校驗,確保是有效的。
選項通過選項實現對字段的約束,選項如下:
選項名描述
default
預設值。 設定預設值。
primary_key
若為true,則該字段會成為模型的主鍵字段,預設值是false,一般作為autofield的選項使用。
unique
如果為true, 這個欄位在表中必須有唯一值,預設值是false。
db_index
若值為true, 則在表中會為此字段建立索引,預設值是false。
db_column
欄位的名稱,如果未指定,則使用屬性的名稱。
null
如果為true,表示允許為空,預設值是false。
blank
如果為true,則該字段允許為空白,預設值是false。
null是資料庫範疇的概念,blank是後台管理頁面表單驗證範疇的。
當修改模型類之後,如果新增的選項不影響表的結構,則不需要重新做遷移,商品的選項中default和blank不影響表結構。
更多字段詳情請查閱官方文件
Django 模型字段 ImageField
class imagefield upload to none height field none width field none max length 100,options 從filefield繼承所有屬性和方法,但也會驗證上載的物件是否為有效影象。除了filefield可用的特殊屬性外,im...
django模型 欄位和選項
一 常用字段 1 字段型別 使用時需要引入django.db.models包,字段型別如下 autofield 自動增長的integerfield,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性 booleanfield 布林字段,值為true或false nullboole...
Django現有模型增加字段
對於django已經存在的模型中需要增加乙個字段,如何實現?首先在model.py檔案中找到對應的模型名稱,加入需要增加的字段 找到新增加的字段的sql語句,記錄下來 再執行python manage.py shell 執行如下命令 from django.db import connection ...