django根據屬性的型別確定以下資訊:
django會為表建立自動增長的主鍵列,每個模型只能有乙個主鍵列,如果使用選項設定某屬性為主鍵列後django不會再建立自動增長的主鍵列。
預設建立的主鍵列屬性為id,可以使用pk代替,pk全拼為primary key。
注意:pk是主鍵的別名,若主鍵名為id2,那麼pk是id2的別名。屬性命名限制:
屬性=models.欄位型別(選項)
字段型別
使用時需要引入django.db.models包,字段型別如下:
textfield:大文字字段,一般超過4000個字元時使用。
integerfield:整數。
decimalfield(max_digits=none, decimal_places=none):十進位制浮點數。
floatfield:浮點數。
datefield[auto_now=false, auto_now_add=false]):日期。
timefield:時間,引數同datefield。
datetimefield:日期時間,引數同datefield。
filefield:上傳檔案字段。
選項通過選項實現對字段的約束,選項如下:
綜合演示
修改booktest/models.py中的模型類,**如下:
from django.db import models
#定義圖書模型類bookinfo
class bookinfo(models.model):
#btitle = models.charfield(max_length=20)#圖書名稱
btitle = models.charfield(max_length=20, db_column='title')#通過db_column指定btitle對應**中字段的名字為title
bpub_date = models.datefield()#發布日期
bread = models.integerfield(default=0)#閱讀量
isdelete = models.booleanfield(default=false)#邏輯刪除
#定義英雄模型類heroinfo
class heroinfo(models.model):
hname = models.charfield(max_length=20)#英雄姓名
hgender = models.booleanfield(default=true)#英雄性別
isdelete = models.booleanfield(default=false)#邏輯刪除
#hcomment = models.charfield(max_length=200)#英雄描述資訊
hcomment = models.charfield(max_length=200, null=true, blank=false) #hcomment對應的資料庫中的字段可以為空,但通過後台管理頁面新增英雄資訊時hcomment對應的輸入框不能為空
hbook = models.foreignkey('bookinfo')#英雄與圖書表的關係為一對多,所以屬性定義在英雄模型類中
然後生成遷移檔案並執行遷移命令,最後檢視test2資料庫中的內容。 python 類屬性學習
class myclass 直接將屬性定義在類中,這種屬性稱為 類屬性 類屬性可以通過實列物件和類物件訪問,但是只能通過類物件修改 類屬性都是用來儲存一些公共的資料 a 10def init self 可以直接將屬性新增到實列物件中,此時這個屬性稱為例項屬性 例項屬性只能被例項訪問和修改,無法被類訪...
iOS 中的類屬性
ios 知識小集 建立乙個類屬性很簡單,主要有以下幾個步驟 1.使用 property class 來宣告乙個類屬性 2.為類屬性建立乙個儲存變數,通常為全域性變數 3.實現類屬性的getter與setter方法,如果是唯讀屬性,只需要實現getter方法。具體實例如圖2所示。需要注意的是編譯器不會...
python學習筆記 類屬性 例項屬性
上篇 class tool object 類屬性 num 0 方法 def init self,name 例項屬性 self.name name tool.num 1 tool1 tool a 例項物件 tool2 tool b 例項物件 tool3 tool c 例項物件 類屬性 num 0 例項...