模型對象Model
Odoo的模型對象在odoo模塊的models.py文件中,最基礎的對象是BaseModel;
Odoo的模型對象有三個:AbstractModel、Model、TransientModel
BaseModel
BaseModel是一切模型的基礎
- _auto = False 是否在後臺創建數據表
- _register = False
- _abstract = True 是否是抽象模型
- _transient = False 是否是臨時模型
- _name = None 模型名稱
- _description = None 模型描述
- _custom = False 是否自定義模型
- _inherit = None 被繼承的模型名稱
- _inherits = {} 繼承關係
- _table = None 模型對應的數據表的名稱,默認值是_name的值中將.轉換成_
- _sql_constraints = [] SQL約束
- _rec_name = None 在其他模型中引用此模型時顯示的字段,默認是name
- _order = 'id' 記錄排序
- _parent_name = 'parent_id' 關聯父級記錄的字段
- _parent_store = False 值爲True時會計算parent_left和parent_right
- _parent_order = False 父級記錄排序字段
AbstractModel
AbstractModel = BaseModel;AbstractModel 是一個抽象模型不會在數據庫創建對應表,Model可以繼承AbstractModel,AbstractModel爲多個Model提供相同屬性的統一聲明
Model
Model繼承自AbstractModel,但是Model的 _auto=False , _abstract = False;
Model的模型對象在模塊安裝或升級的時候會自動在數據庫中創建相應的數據表
TransientModel
TransientModel繼承自Model,但是TransientModel的_transient = True,TransientModel是一種特殊的Model,TransientModel對應的數據表中的數據系統會定時的清理;TransientModel的數據只能做臨時數據使用,一般嚮導對象模型會聲明成TransientModel
作者:路峯
鏈接:https://www.jianshu.com/p/071bad27b6c1
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。