gpt4 book ai didi

python - 在函数头调用@api

转载 作者:行者123 更新时间:2023-12-01 08:56:09 24 4
gpt4 key购买 nike

所以,我正在研究这个对象,他从另一个对象继承ODOO v8

class a(models.Model):
_inherit = 'my.inherit.object'

@api.multi
def _default_group(self):
domain = {'group_id': [('id', 'in', False)]}
user_c = self.env['timetable'].search([
# ('company_id', '=', self.env.user.company_id.id),
('year_id', '=', self.year_id),
('user_id', '=', self.user_id.id), ])
if not teacher:
raise exceptions.ValidationError(_("you haven't access, sorry so contact your administrator"))

groups = []
for line_groups in user_c:
if line_groups.cd_id == self.cd_id:
groups.append(line_groups.group_id.id)
domain['group_id'] = [('id', 'in', groups)]


return {'domain': domain}

所以当我尝试启动这个测试代码时他向我展示了这个错误

Expected singleton: my.inherit.object ('lang', 'tz', 'params', 'uid', 'active_model')

我能做些什么来解决这个问题,所有字段都正常工作,而且治疗也工作正常,但它停止并显示错误。

最佳答案

self.ensure_one 用于确保只传递一条记录。它检查当前记录是否为单例(因此只有一条记录,而不是多条记录)。

如果 self 包含多个记录,系统将抛出错误。

您可以尝试使用以下代码:

@api.multi
def _default_group(self):
self.ensure_one()
# your logic start from here

关于python - 在函数头调用@api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52758625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com