odoo13中的模型类(模型属性、字段属性、字段类型)
目錄
1.模型屬性
2.字段類型
3.字段通用參數屬性
1.模型屬性
| 模型屬性 | 解釋 |
| _name | 模型名稱。使用點表示法。規范命名帶模塊命名空間,格式:模塊名.xxx.xxx.xxx; |
| _description | 模型非正式名稱、描述。模型的顯示名稱 |
| _inherit | 用于模型繼承。屬性值為字符串或者字符串數組。 (1)當屬性_inherit值為字符串,如果_name屬性值缺省或者等于_inherit值時,當前類會繼承_inherit值名稱的模型的類的屬性,模型屬性覆蓋繼承。 (2)當屬性_inherit值為字符串數組(此時_name屬性不能缺省)或者_inherit值與_name屬性值不相等時,會得到一個_name值的新模型,新模型繼承_inherit值中的所有模型的類的屬性。 |
| _inherits | 用于組合繼承。值類型為字典,格式:{'parent_model':?'m2o_field'},parent_model:繼承模型名稱,m2o_field:當前模型關聯繼承模型的外鍵字段。 這種繼承方式,子模型繼承父模型所有屬性,父模型必需為持久化模型,數據庫持久化表父子模型獨立,子模型的表字段'm2o_field'外鍵表是父模型表。 |
| _auto | 是否建立數據庫表標識。模型類型models.Model、models.TransientModel默認為True |
| _table | 數據庫表名。當模型屬性_auto=True時,模型會在數據庫表建立屬性_table值的表名。當_table值缺省時,_table默認值為屬性_name將點號.替換成下劃線_的值。 |
| _sequence | 模型數據表主鍵id的序列名稱。_sequence屬性缺省時,_sequence默認值為屬性_table值拼接字符串'_id_seq'。 以另外一個表中的id,后面進行自增,默認是本表,修改別的表的id開始自增是,模型類_id_seq, 注意模型類中的點換成下劃線 |
| _sql_constraints | 表約束設置。列表類型,格式:[(name,?sql_def,?message)]。 |
| _transient | 臨時模型標識。模型類型models.TransientModel默認為True |
| _rec_name | 數據行記錄標簽字段。標識行數據,用于下來列表的名稱顯示,以及查詢。 |
| _order | 設置該模型展示時默認的排序字段 |
2.字段類型
| 字段類型 | 解釋 |
| fields.Boolean | 布爾類型 |
| fields.Integer | 整數類型 |
| fields.Float | 浮點數類型。 特有參數digits:精度,值類型為tuple(int,int)或str。 當digits值為元組時,tuple(整數位數,小數精度位數); 當digits值為字符串時,精度取模型decimal.precision中name為digits值的行的精度設置。 |
| fields.Monetary | 貨幣類型。 特有參數currency_field:貨幣字段。 currency_field值缺省時,模型必須存在currency_id或x_currency_id字段,否則拋錯。 |
| fields.Char | 字符串類型。 特有參數size:長度。限制字符長度VARCHA(size),缺省則創建的表字段不做長度限制VARCHAR。 特有參數trim:修整。默認為True,去掉字符串前后的空格。 |
| fields.Text | 文本類型。 |
| fields.Html | Html類型。前端默認使用富文本編輯器錄入。 |
| fields.Date | 日期類型。 |
| fields.Datetime | 時間類型。 |
| fields.Binary | 二進制類型。用于文件存儲。 |
| fields.Image | 圖片類型。 特有參數max_width:最大寬度。 特有參數max_height:最大高度。 特有參數verify_resolution:分辨率。默認TRUE,開啟驗證。 |
| fields.Selection | 列表類型。 特有參數selection:列表值。值格式:[(value,?label),?(value,?label)],例如:selection?=??[('a',?'A'),?('b',?'B')]??? 特有參數selection_add:擴展列表值。該參數只能在繼承模型使用,不能和selection參數同時存在。值格式同selection。 特有參數validate:數據校驗。默認True,開啟校驗。 |
| fields.Reference | 參考字段類型。該類型是selection類型的延伸,用于存儲關聯表數據行。 特有參數selection:列表值。值格式:[(model_value,?label),?(model_value,?label)],model_value必須為已存在的模型名稱。例如:selection?=??[('ir.actions.report',?'ir.actions.report'),('ir.actions.act_window',?'ir.actions.act_window'),]??? |
| fields.Many2one | 多對一字段類型。表關聯多對一結構。 特有參數comodel_name:關聯模型。必輸,設置字段關系的外鍵模型。 特有參數ondelete:關聯模型刪除數據時的級聯操作。值:'set?null',置空;'restrict',限制;'cascade',級聯刪除。 特有參數auto_join:聯立查詢。默認False,設置為True時,模型查詢數據時會做關聯表查詢。 特有參數delegate:繼承引用。默認為False,設置為True時等同于加模型中加上_inherits屬性 特有參數domain:數據篩選條件。odoo框架獨有數據查詢格式,常用值格式[(field_name,?operator,?value)] 特有參數context:數據查詢上下文。值類型為字典 特有參數check_company:多公司數據屏蔽。默認為False,不開啟屏蔽。當domain參數缺省且模型存在company_id(公司)字段時可以設置為True,頁面數據篩選添加公司數據屏蔽。 |
| fields.Many2oneReference | 多對一引用字段類型。基類為整形。 特有參數model_field:模型值字段。必須,值為填寫模型的字段。 |
| fields.One2many | 一對多字段類型。和fields.Many2one多對一字段類型相對應。 特有參數comodel_name:關聯模型。必輸,設置使用當前模型為外鍵模型的Many2one字段所在模型。 特有參數inverse_name:反向字段名稱。必輸,設置使用當前模型為外鍵模型的Many2one字段。 特有參數domain:參考fields.Many2one。 特有參數context:參考fields.Many2one。 特有參數auto_join:參考fields.Many2one。 特有參數limit:查詢form頁面默認顯示行數。缺省默認無限制。 |
| fields.Many2many | 多對多字段類型。多對多表結構設置。 特有參數comodel_name:關聯模型。必輸,設置字段關聯的多對多模型。 特有參數relation:關系表。必輸,多對多關系的中間表。 特有參數column1:關系表中存儲當前表主鍵的字段名。 特有參數column2:關系表中存儲當對方表主鍵的字段名。 特有參數domain:參考fields.Many2one。 特有參數context:參考fields.Many2one。 特有參數auto_join:參考fields.Many2one。 特有參數check_company:參考fields.Many2one。 特有參數limit:查詢form頁面默認顯示行數。缺省默認無限制。 |
3.字段通用參數屬性
| 屬性 | 解釋 |
| string | 頁面顯示的字段標簽名稱。缺省則顯示字段本身。 |
| help | 頁面顯示的字段提示信息。缺省則顯示字段本身。 |
| readonly | 字段只讀參數。默認為False,設置為True時,頁面該字段不可編輯 |
| required | 字段必輸參數。默認為False,設置為True時,頁面該字段必輸,數據表該字段不能為空。 |
| index | 字段索引參數。默認為False,設置為True時,數據表該字段建立索引。 |
| default | 字段默認值參數。缺省為空。可設置固定值或者帶返回值方法。 |
| states | 字段頁面狀態控制參數。值為字典,根據state字段的值控制當前字段頁面的編輯、必輸和顯示狀態。 |
| groups | 權限組參數。默認為空,可以配置權限組的外部id,該字段受權限控制,只能對應組可讀寫。 |
| company_dependent | 多公司參數。默認為False,設置為True時,該字段不會在數據表中建立字段,數據存儲在ir.property模型表,根據不同公司存儲不同值。 |
| copy | 可復制參數。默認為True,行記錄復制時復制該字段的值;設置為False時,行記錄復制時不進行值復制,取默認值賦值。 |
| store | 可存儲參數。普通字段默認為True,字段值存儲數據庫表中。computed字段,默認為False,不在數據庫表中存儲字段的值。 |
| group_operator | 分組聚合函數。只有數字類型字段生效。默認SUM,執行數據分組查詢時使用的聚合函數。 |
| compute | 計算字段參數。設置該參數的字段為計算字段,該字段的值由配置的計算方法計算得出。 |
| compute_sudo | 計算超級權限參數。設置compute參數時使用,默認為False,設置為True時,計算過程不做權限校驗。store=True時默認為True。 |
| inverse | 復制函數參數。設置compute參數時使用,compute字段默認不進行數據存儲,當設置該參數時,可以調用設置的方法進行數據賦值。 |
| search | 復制函數參數。設置compute參數時使用,compute字段默認不可查詢。當設置該參數時,可以通過該參數設置方法返回查詢條件,進行數據查詢。 |
| related | 引用字段參數。設置了該參數的字段相當于是配置字段的一個復制字段。 |
總結
以上是生活随笔為你收集整理的odoo13中的模型类(模型属性、字段属性、字段类型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.odoo13之跟着官网做项目/实例(
- 下一篇: odoo13中的模型类中的方法函数ORM