1 @api.model
此时的self仅代表模型本身,不含任何记录信息。
当你认为这段代码跟self中的数据无关时,就加上@api.model装饰器,有点像类中的类方法
2 @api.multi
multi则指self是多个记录的合集。因此,常使用for—in语句遍历self。
multi通常用于:在tree视图中点选多条记录,然后执行某方法,那么那个方法必须用@api.multi修饰,而参数中的self则代表选中的多条记录。
如果仅仅是在form视图下操作,那么self中通常只有当前正在操作的记录。
3 @api.one
one的用法主要用于self为单一记录的情况,意思是指:self仅代表当前正在操作的记录。
这个装饰器自动遍历记录集的记录,self被重新定义为当前记录
4 @api.depends
depends 主要用于compute方法,depends就是用来标该方法依赖于哪些字段的。
这个装饰器指定的任何字段被ORM或表单修改,它所装饰的方法会被触发调用
5 @api.onchange
就是当字段发生改变时,触发绑定的函数。
6 @api.constrains
字段的代码约束。
7 @api.returns
returns的用法主要是用来指定返回值的格式,它接受三个参数,第一个为返回值的model,第二个为向下兼容的method,第三个为向上兼容的method