Python 在函数头上调用@api
所以,我正在处理这个对象,他从另一个对象继承 奥多v8 所以当我尝试启动这个测试代码时 他告诉我这个错误Python 在函数头上调用@api,python,odoo,odoo-8,odoo-10,Python,Odoo,Odoo 8,Odoo 10,所以,我正在处理这个对象,他从另一个对象继承 奥多v8 所以当我尝试启动这个测试代码时 他告诉我这个错误 Expected singleton: my.inherit.object ('lang', 'tz', 'params', 'uid', 'active_model') 我能做些什么来解决这个问题,所有字段都正常工作,处理也正常工作,但它会停止并向我显示一个错误。self。确保创建一个,以确保只传递一条记录。它检查当前记录是否为单例记录(因此只有一条记录,而不是多条记录) 如果self包
Expected singleton: my.inherit.object ('lang', 'tz', 'params', 'uid', 'active_model')
我能做些什么来解决这个问题,所有字段都正常工作,处理也正常工作,但它会停止并向我显示一个错误。
self。确保创建一个
,以确保只传递一条记录。它检查当前记录是否为单例记录(因此只有一条记录,而不是多条记录)
如果self包含多条记录,系统将抛出一个错误
您可以尝试使用以下代码:
@api.multi
def _default_group(self):
self.ensure_one()
# your logic start from here
试试这个:
for line_groups in user_c:
for rec in self:
if line_groups.cd_id == rec.cd_id:
groups.append(line_groups.group_id.id)
domain['group_id'] = [('id', 'in', groups)]
如果您的方法
\u default\u group
用作默认方法-获取字段的默认值-self
是一个空记录集。但是您正在使用self
作为单例,例如在中('year\u id','=',self.year\u id)
。那不行。要在默认值方法中获得像year之类的值,您必须找到一种方法来解决self
是同一件事,他仍然向我显示错误singletonI为相同的错误写了一篇博客。因此,它可能有助于将来调试如何调用该方法\u default\u group
。它的目的是什么?
for line_groups in user_c:
for rec in self:
if line_groups.cd_id == rec.cd_id:
groups.append(line_groups.group_id.id)
domain['group_id'] = [('id', 'in', groups)]