我在classA上编码了一个字段(a),它将自动获取另一个classB中另一个字段(b)的内容
在更新我自己开发的一个模块后,我试图在tryton上填写表格,然后我试图保存表格
但是有一个错误
Traceback (most recent call last):
File "/trytond/wsgi.py", line 104, in dispatch_request
return endpoint(request, **request.view_args)
File "/trytond/protocols/dispatcher.py", line 48, in rpc
request, database_name, *request.rpc_params)
File "/trytond/wsgi.py", line 72, in auth_required
return wrapped(*args, **kwargs)
File "/trytond/protocols/wrappers.py", line 131, in wrapper
return func(request, pool, *args, **kwargs)
File "/trytond/protocols/dispatcher.py", line 197, in _dispatch
result = rpc.result(meth(*c_args, **c_kwargs))
File "/trytond/model/modelsql.py", line 832, in read
getter_results = field.get(ids, cls, field_list, values=result)
File "/trytond/model/fields/function.py", line 106, in get
return dict((name, call(name)) for name in names)
File "/trytond/model/fields/function.py", line 106, in <genexpr>
return dict((name, call(name)) for name in names)
File "/trytond/model/fields/function.py", line 101, in call
return dict((r.id, method(r, name)) for r in records)
File "/trytond/model/fields/function.py", line 101, in <genexpr>
return dict((r.id, method(r, name)) for r in records)
File "/trytond/modules/module_designing/design.py", line 15702, in On_change_design
('Description', '=', self.id),
ValueError: not enough values to unpack (expected 1, got 0)
,错误中提到的方法是:(这个方法我在一个类b上的字段(b)上使用它来调用另一个类a上的另一个字段(a))
def On_change_design(self,Name):
Design = Pool().get('design.classA')
design, = Design.search([
('classB', '=', self.id),
])
return design.id
field(b) = fields.Function(fields.Many2One('design.classA', 'test'), 'On_change_design')
将包含字段(a)的字段(b)
这是我如何对字段(a)进行编码的:
field(a) = fields.Function(fields.Char('area '),'on_change_parameters')
任何帮助都将不胜感激,我想知道哪里错了,我应该怎么做。
或者有人能帮助我,告诉我如何编写方法onchange
,使字段(b)自动从另一个类(a)获取另一个字段(a)的内容吗
保存后将计算函数字段。在函数中,您正在对相关表执行搜索并解压缩结果。当搜索返回单个记录时,这没有问题,但在您的情况下,搜索不返回任何记录,因此这会导致代码崩溃
你应该使用一个更安全的代码,在解包之前测试serach是否返回任何结果。大概是这样的:
请注意,我还对搜索添加了限制,以确保最多返回一条记录。这还可以防止在返回多个记录时崩溃,但您可能需要不同的行为。我还添加了一个显式的None-return,以确保在未找到搜索时函数将返回None
相关问题 更多 >
编程相关推荐