thinkPHP中模型類的定義

2022-02-21 02:58:14 字數 554 閱讀 6755

在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。屬性命名限制 字段型別...