在thinkphp中基礎的模型類是think\model
,該類完成了基本的curd、activerecord模式、連貫操作和統計查詢,一些高階特性被封裝到其他模型擴充套件中。
基礎模型類的設計非常靈活,甚至可以無需進行任何模型定義,就可以進行相關表的orm和curd操作,只有在需要封裝單獨的業務邏輯時模型類才需要被定義。
模型類需要繼承think\model
或子類。
如果按照系統的規範來命名模型類的話,可以自動關聯資料表。
命名規則
是除去表字首的資料表名稱,採用駝峰法命名,並且首字母大寫,然後加上模型層的名稱(預設是model,配置項default_m_layer
),如:
usermodel => pre_user
usertypemodel => pre_user_type
如果你的規則和系統的約定不匹配,則需要手動指定對應的資料表。
在模型基類裡有幾個關於資料表名稱的屬性定義,重寫這幾個屬性即可以指定任意表。
ThinkPHP中的模型命名
當我們建立乙個usermodel類的時候,其實已經遵循了系統的約定。thinkphp要求資料庫的表名和模型類的命名遵循一定的規範,首先資料庫的表名和字段全部採用小寫形式,模型類的命名規則是除去表字首的資料表名稱,並且首字母大寫,然後加上模型類的字尾定義,例如 usermodel 表示user資料物件...
定義模型類
建立應用booktest,在models.py 檔案中定義模型類。from django.db import models 定義圖書模型類bookinfo class bookinfo models.model btitle models.charfield max length 20,verbos...
Django模型類定義
資料庫表名 可通過db table指明資料庫表名。關於主鍵 django會為表建立自動增長的主鍵列,每個模型只能有乙個主鍵列,如果使用選項設定某屬性為主鍵列後django不會再建立自動增長的主鍵列。預設建立的主鍵列屬性為id,可以使用pk代替,pk全拼為primary key。屬性命名限制 字段型別...