Odoo Model內容詳解


轉載請注明原文地址:https://www.cnblogs.com/ygj0930/p/10826286.html

 

一:Odoo模型屬性

  1:_name

    模型的唯一標識:如果沒有繼承其他模型時,必須指定該屬性。

 

  2:_rec_name

    模型記錄對象的顯示名,如設置該屬性則返回其指定的字段的值作為對象的顯示名;

    不設置則默認顯示字段為name的字段值;

    如無name字段則顯示"模塊名,id";

    也可以重寫_name_get()方法,自定義模型記錄對象的拼接顯示名。

 

  3:_log_access

    是否往模型增加日志字段(create_uidcreate_date,write_uidwrite_date),默認為True。

 

  4:_auto

    是否自動為該模型創建數據庫表,默認為True,詳見BaseModel._auto_init方法。


_table:數據庫對象名稱。缺省時數據庫對象名稱與_name指定值相同(.替換為下划線)。
_sequence:數據庫id字段的序列。默認自動創建序列。
_order:數據顯示排序。所指定值為模型字段,按指定字段和方式排序結果集。

例:_order = "create_date desc":根據創建時間降序排列。可指定多個字段。
不指定desc默認升序排列;不指定_order默認id升序排列。

_constraints:自定義約束條件。模型創建/編輯數據時觸發,約束未通過彈出錯誤提示,拒絕創建/編輯。

格式:_constraints = [(method, 'error message', [field1, ...]), ...]
method:檢查方法。返回True|False
error message:不符合檢查條件時(method返回False)彈出的錯誤信息
[field1, ...]:字段名列表,這些字段的值會出現在error message中。

_sql_constraints:數據庫約束。

例:_sql_constraints = [ ('number_uniq', 'unique(number, code)', 'error message') ]
會在數據庫添加約束:
CONSTRAINT number_uniq UNIQUE(number, code)

_inherit:單一繼承。值為所繼承父類_name標識。如子類不定義_name屬性,則在父類中增加該子類下的字段或方法,不創建新對象;如子類定義_name屬性,則創建新對象,新對象擁有父類所有的字段或方法,父類不受影響。

格式:_inherit = '父類 _name'

_inherits:多重繼承。子類通過關聯字段與父類關聯,子類不擁有父類的字段或方法,但是可以直接操作父類的字段或方法。

格式:_inherits = {'父類 _name': '關聯字段'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM