首页 门户 资讯 详情
  • 评论
  • 收藏

八折网 2021-04-07 450 10

ODOO新API的使用说明

Odoo8中,API 接口分为traditaional style和record style两种类型:

  • traditional style 指的就是我们在7.0中使用的类型,def (self,cr,uid,ids,context)式的语法.

  • record style 8.0及以后版本精简化参数后的风格,只保留了self和args,形如def (self,args)

新 API 的几个重要装饰器

MODEL

model装饰器的作用是返回一个集合列表
定义


  1. @api.model
  2. def _get_lang(self):
  3. langs = self.env['res.lang'].search([])
  4. return [(lang.code,lang.name) for lang in langs]

使用


  1. langs = fields.Selection(string="Lang",selection="_get_lang")

ONE

one装饰器的作用是对每一条记录都执行对应的方法,相当于traditional-style中的function 定义


  1. @api.one
  2. def _compute_now(self):
  3. self.now = fields.Datetime.now()

使用


  1. now = fields.Datetime(compute='_compute_now')

CONSTRAINS

constrains装饰用于对字段进行限制 定义


  1. @api.constrains('age')
  2. def _check_age(self):
  3. if self.age<16:
  4. raise ValueError(_('Age must be older than 16'))

使用


  1. age = fields.Integer(string="age")

Odoo 8.0 中有几个模块是用新 api 实现的,例如:events、base、accounting,我们可以参考学习

odoo odoo odoo

鲜花

握手

雷人

路过

鸡蛋

分享

邀请

下一篇:暂无上一篇:暂无

最新评论(0)

Archiver|手机版|小黑屋|八折网  

© 2015-2020 Powered by 八折网 X1.0

微信扫描