Odoo自带的api装饰器主要有:model,multi,one,constrains,depends,onchange,returns 七个装饰器。
一、one
one的用法主要用于self为单一记录的情况,意思是指:self仅代表当前正在操作的记录。
二、multi
multi则指self是多个记录的合集。因此,常使用for—in语句遍历self。
multi通常用于:在tree视图中点选多条记录,然后执行某方法,那么那个方法必须用@api.multi修饰,而参数中的self则代表选中的多条记录。
如果仅仅是在form视图下操作,那么self中通常只有当前正在操作的记录。
三、model
此时的self仅代表模型本身,不含任何记录信息。
四、contrains
字段的代码约束。
五、depends
depends 主要用于compute方法,depends就是用来标该方法依赖于哪些字段的。
六、onchange
onchange的使用方法非常简单,就是当字段发生改变时,触发绑定的函数。
七、returns
returns的用法主要是用来指定返回值的格式,它接受三个参数,第一个为返回值的model,第二个为向下兼容的method,第三个为向上兼容的method