odoo自帶的api裝飾器主要有:one,multi,model,constrains,depends,onchange,returns 七個裝飾器。
1、one
one的用法主要是用於self為單一記錄的情況,意思是指:self僅代表當前正在操作的記錄。
2、multi
multi則是指self是多個記錄的合集。因此,常使用for或者self.ensure_one()
來遍歷self,否則會出現最大遞迴錯誤。
multi通常用於:在tree檢視中點選多條記錄,然後執行某個方法,那麼那個方法必須用@api.multi修飾,而引數中的self則代表選中的的多條記錄。
如果僅僅是在form檢視下操作,那麼self中通常只有當前正在操作的記錄。
3、model
此時的self僅代表模型本身,不含任何記錄資訊。
4、contrains
欄位的**約束,每個引數都必須是欄位名。
5、depends
主要用於compute方法,depends就是用來標該方法依賴於哪些欄位的,每個引數都必須是欄位名。
6、onchange
onchange的使用方法非常簡單,就是當欄位發生改變時,觸發繫結的函式,每個引數都必須是欄位名。
7、returns
return的用法主要是用來指定返回值的格式,它接受三個引數,第乙個為返回值的model,第二個向下相容的method,第三個為向上相容的method。
Odoo的 api 裝飾器
odoo自帶的api裝飾器主要有 model,multi,one,constrains,depends,onchange,returns 七個裝飾器。一 one one的用法主要用於self為單一記錄的情況,意思是指 self僅代表當前正在操作的記錄。二 multi multi則指self是多個記錄...
裝飾器 odoo常用裝飾器
此時的self僅代表模型本身,不含任何記錄資訊。當你認為這段 跟self中的資料無關時,就加上 api.model裝飾器,有點像類中的類方法 multi則指self是多個記錄的合集。因此,常使用for in語句遍歷self。multi通常用於 在tree檢視中點選多條記錄,然後執行某方法,那麼那個方...
odoo開發字段解析(新API)
odoo新api中,字段型別不變,繼承改變 1.舊的api定義模型 from openerp.osv import osv,fields class oldmodel osv.osv 模型名稱 name old.model 定義字段 columns 2.新的api定義模型 from openerp ...