Django中模型類 屬性 學習筆記

2021-09-23 23:45:58 字數 1672 閱讀 9407

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 例項...