odoo10学习笔记

时间:2023-03-09 22:07:29
odoo10学习笔记

odoo的API:

Odoo新API的介绍与应用

odoo新api的实现是借助于python装饰器。新API的装饰器主要有以下几种:

model,multi,one,constrains,depends,onchange,returns

约束字段的值,或者字段值不能重复。

例子1:

@api.constrains('age')

def _check_age(self):

if self.age<18:

raise ValueError(_('Age must be older than 18'))

例子2:

@api.constrains('name')

def _check_name(self):

count=self.search_count([('name','=',self.name)])

if   count>1:

raise ValidationError(u'名字%S已经存在!'%self.name)

raise ValueError(_('Age must be older than 18'))

二、@api.depends()

depends 主要用于compute方法,v8当中已经取消了function字段,

对于任何fields都可以通过添加compute属性动态赋值。depends就是用来标该方法依赖于哪些字段的装饰。

依赖的任一字段变化时(ORM or Form),触发该函数执行

@api.depends('name', 'an_other_field')
def afun(self):
pass 三、@api.onchange()
onchange的使用方法非常简单,就是当字段发生改变时,触发绑定的函数。
@api.onchange('fieldx')
def do_stuff(self):
if self.fieldx == x:
self.fieldy = 'toto' 未完待续。。。。。。。。。。。。