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'))

扫描二维码关注公众号,回复: 1725989 查看本文章

例子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'


未完待续。。。。。。。。。。。。

猜你喜欢

转载自www.cnblogs.com/1314520xh/p/9219372.html