1、constrains

该约束方法中参数:必须是非关系字段名,不支持关系字段,如many2one等

只有在create()和write()方法调用时,起作用

@api.constrains('name', 'description')def _check_description(self):for record in self:if record.name == record.description:raise ValidationError("Fields name and description must be different")

2、onchage

该方法返回一个伪记录,同样只支持非关系字段。


@api.onchange('partner_id')
def _onchange_partner(self):self.message = "Dear %s" % (self.partner_id.name or "").. code-block:: pythonreturn {'domain': {'other_id': [('partner_id', '=', partner_id)]},'warning': {'title': "Warning", 'message': "What is this?", 'type': 'notification'},
}

3、depends

该方法每个参数必须是一个字符串,可以是关系字段名+点+字段名

pname = fields.Char(compute='_compute_pname')@api.depends('partner_id.name', 'partner_id.is_company')
def _compute_pname(self):for record in self:if record.partner_id.is_company:record.pname = (record.partner_id.name or "").upper()else:record.pname = record.partner_id.name

4、depends_context

参数是上下文context中的key值

price = fields.Float(compute='_compute_product_price')@api.depends_context('pricelist')
def _compute_product_price(self):for product in self:if product.env.context.get('pricelist'):pricelist = self.env['product.pricelist'].browse(product.env.context['pricelist'])else:pricelist = self.env['product.pricelist'].get_default_pricelist()product.price = pricelist.get_products_price(product).get(product.id, 0.0)

除了以下特殊依赖字段,所有依赖项必须是hashable

    • force_company (value in context or current company id),
    • uid (current user id and superuser flag),
    • active_test (value in env.context or value in field.context).

5、models

@api.model
def method(self, args):...

odoo常见的装饰方法相关推荐

  1. python获取方法的装饰方法_python中的方法和装饰器

    [TOC] 装饰器 python中的装饰器(decorator)是在pep 318中被首次引入,它的本质是一个函数这个函数是接受其它参数为参数,并且用一个新的,修改后的函数作为替换,最常见的装饰器就c ...

  2. 墙面有几种装修方法_家里的墙面不知道怎么装?6种装饰方法任你选

    如果说家中占据面积最大的部分,一定是墙面.但墙面又不像地面那样,如果 全部铺上瓷砖,反倒会显得俗气.那么家里的墙面到底怎么装才好看呢? 1.乳胶漆+挂饰 利用乳胶漆装修墙面应该是最常见的了,施工方便, ...

  3. 常见花材的固定的方法有哪些_艺术插花的花材固定方法:其他常见的固定方法...

    艺术插花的花材固定方法:其他常见的固定方法 在艺术插花中,有时为了达到某种艺术效果,可以采用双向插入的方法.下面是小编为大家带来的艺术插花的花材固定方法,欢迎阅读. 折枝固定法与集团捆扎法 折枝固定法 ...

  4. 萨克斯维修服务器,萨克斯常见故障修理方法

    原标题:萨克斯常见故障修理方法 1.如果某一按键突然停止工作了,那就检测一下相应的弹簧,如果是破裂或是遗失,可以暂时用硬橡胶带来代替; 记住在演奏完毕后要除去橡胶带,因为从长远来看它可能破坏你的被覆盖 ...

  5. 普元EOS开发积累第一篇(常见错误解决方法) 持续更新

    普元EOS开发积累第一篇(常见错误解决方法) 持续更新 参考文章: (1)普元EOS开发积累第一篇(常见错误解决方法) 持续更新 (2)https://www.cnblogs.com/tangjing ...

  6. Spark程序运行常见错误解决方法以及优化

    Spark程序运行常见错误解决方法以及优化 参考文章: (1)Spark程序运行常见错误解决方法以及优化 (2)https://www.cnblogs.com/double-kill/p/901238 ...

  7. python3.5怎么使用-Python3.5常见内置方法参数用法实例详解

    本文实例讲述了Python3.5常见内置方法参数用法.分享给大家供大家参考,具体如下: Python的内置方法参数详解网站为:https://docs.python.org/3/library/fun ...

  8. Opencv中常见的滤波方法

    Opencv中常见的滤波方法 - 随性岁分享 - 博客园 opencv:基于opencv的五种滤波方法_M海洋的博客-CSDN博客_opencv滤波 OpenCV3学习(4.2)--图像常用滤波方法( ...

  9. php常见的验证方法

    php常见的验证方法 干货文章 ·2018-03-16 23:50:36 1 <?php 2 3 /** 4 * @param $id 5 * @return false|int 6 * 检测i ...

最新文章

  1. 2021湖北省普通高考成绩查询果,2021年湖北高考录取结果查询登录网址入口
  2. php in循环与for循环,详谈js中标准for循环与foreach(for in)的区别
  3. C#反射实例No.1
  4. Java虚拟机9:Java类加载机制
  5. 关于货仓选址问题的方法及证明(在数轴上找一点使得该点到所有其他点的距离之和最小)...
  6. 无法在web服务器上启动调试 您不具备调试此应用程序的权限
  7. Vert x开发指南
  8. 误差反向传播法(二)【神经网络以层的方式实现】
  9. 我什么时候应该真正使用noexcept?
  10. breakall lisp文件_CAD导入草图大师后自动成面
  11. [RK3399][Android7.1][Camera]IMX307 mclk 37.125M补丁
  12. war压缩命令_war包解压命令详解,java项目如何打包成war包?
  13. Android 输入手机号码(GET网络请求)查询手机号码归属地
  14. Hi,传说中的《超级搜索术》你看了吗?来看看小编的超级总结吧!
  15. 计算机上word如何批量打印,Word2010怎样批量打印证书
  16. MUI框架常用代码段
  17. 视频问答社区VYou宣布关闭,问答社交模式会走向哪?
  18. android拦截返回键home键,android屏蔽返回键跟Home键
  19. [Usaco2008 Oct]Watering Hole 挖水井
  20. 使用st-link+keil下载和调试华大单片机的教程

热门文章

  1. vue 输入框限制中英文及数字
  2. 基于python的国内外研究现状怎么写_如何写国内外研究现状
  3. POJ 2656 Unhappy Jinjin(水~)
  4. Doolittle分解法(LU分解法)的Python实现
  5. python3.7 统计某一只股票每天的开盘,收盘,最高,最低价格
  6. 如何实现短信的发送,配置-----容联云(测试)
  7. keil编译代码Program Size详解
  8. 如何快速查找网页的内容
  9. TLS/SSL双向认证
  10. 算法高级(20)-集群容错算法