转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281437.html

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

Odoo的@api.装饰器的更多相关文章

  1. 【转】odoo 新API装饰器中one、model、multi的区别

    http://blog.csdn.net/qq_18863573/article/details/51114893 1.one装饰器详解 odoo新API中定义方式: date=fields.Date ...

  2. odoo API装饰器one、model、multi的区别

    1.one装饰器详解 odoo新API中定义方式:    date=fields.Date(string="date",compute="_get_date") ...

  3. odoo10 api 装饰器

    http://www.cnblogs.com/kfx2007/p/3894297.html one:装饰record-style方法中的self为单一实例,被装饰的方法将会在每一条记录中循环调用,返回 ...

  4. odoo里API解读

    Odoo自带的api装饰器主要有:model,multi,one,constrains,depends,onchange,returns 七个装饰器. multimulti则指self是多个记录的合集 ...

  5. 【转】odoo装饰器:model

    model装饰器的作用是返回一个集合列表,一般用来定义自动化动作里面,该方法无ids传入. 应用举例: 定义columns langs = fields.Selection(string=" ...

  6. 【转】Odoo装饰器: one装饰

    one装饰器的作用是对每一条记录都执行对应的方法,相当于traditional-style中的function,无返回值! 应用举例: 定义的columns now = fields.Datetime ...

  7. Odoo : ORM API

    记录集 model的数据是通过数据集合的形式来使用的,定义在model里的函数执行时它们的self变量也是一个数据集合 class AModel(models.Model): _name = 'a.m ...

  8. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  9. python基础知识7——迭代器,生成器,装饰器

    迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器 ...

随机推荐

  1. springmvc 配置多个数据源,并动态切换

    前言:工作中经常会有两个数据源的情况,所以记录一下.这里测试两个数据源,给出流程和代码. 首先:配置两个数据源 <description>配置mybatis数据源</descript ...

  2. CentOS系统下安装SVN及常用命令

    1.SVN的安装: yum install subversion 2.服务端命令 svnserver -- 控制svn系统服务的启动等 svnadmin -- 版本库的创建.导出.导入.删除等 svn ...

  3. 左连接sql

    <?php public function sumZong($id){ $sql =' SELECT * FROM vvt_league_user AS p Left join vvt_leag ...

  4. 谷歌浏览器network请求时间(stalled,DNS Lookup,Waiting)分析以及解决方案

    network工具功能强大,能够让我看到网页加载的信息,比如加载时间,和先后顺序,是否是并行加载,还是堵塞加载. 默认情况下有八列: (1).Name:表示加载的文件名. (2).Method:表示请 ...

  5. linux系统下开启一个简单的web服务

    linux 下开启一个简单的web服务: 首先需要linux下安装nodejs 然后创建一个test.js:   vi test.js var http =require("http&quo ...

  6. 原生webview 日期格式转时间戳兼容问题

    需要根据后端返回的日期格式返回相应时间戳 后端返回的数据格式: let dateStr = 2019-04-19T10:39:10.000+0000;   直接new Date(dateStr ).g ...

  7. Android资源文件说明

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  8. Oracle官网登录下载资源账号密码共享

    Oracle帐号:2696671285@qq.com Oracle密码:Oracle123 可爱博主:AlanLee 博客地址:http://www.cnblogs.com/AlanLee 本文出自博 ...

  9. Week8——hashcode()和equals()方法

    equals()方法  Object类中的equals方法和“==”是一样的,没有区别,即俩个对象的比较是比较他们的栈内存中存储的内存地址.而String类,Integer类等等一些类,是重写了equ ...

  10. 为何说 JavaScript 开发很疯狂

    [编者按]本文作者为 Sean Fioritto,主要阐述了 JavaScript 开发为何让人有些无从下手的根本原因.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 网络开发乐趣多多!Ja ...