odoo self.ensure_one()

Posted yanhuaqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了odoo self.ensure_one()相关的知识,希望对你有一定的参考价值。

源码:

def ensure_one(self):
""" Verifies that the current recorset holds a single record. Raises
an exception otherwise.
"""
try:
# unpack to ensure there is only one value is faster than len when true and
# has a significant impact as this check is largely called
_id, = self._ids # 开始没明白什么意思,应该是python的多重赋值,只不过这种写法的情况下等号右边必须是可迭代的
return self
except ValueError:
raise ValueError("Expected singleton: %s" % self)

技术图片

 

 

这段代码如果换种方式就很好理解了:

def ensure_one(self):
        """ 
      换种写法 """ if len(self) == 1:
       return self
     else: raise ValueError("Expected singleton: %s" % self)

  

 

 

 

 

 

 

以上是关于odoo self.ensure_one()的主要内容,如果未能解决你的问题,请参考以下文章

将 odoo 8 升级到 odoo 9 时遇到问题

免费开源ERP Odoo实施指南 连载一:Odoo概述

odoo14-实际使用

odoo 怎么重写模块默认方法

odoo官方文档第八章 Testing in odoo (odoo的测试)

Odoo产品分析系列----目录