添加这些行时显示以下错误,openerp 7
_group_by_full = {
'stage_id': lambda *args:['diagnostico','autorizado'],
}
显示以下错误
TypeError: <lambda>() got an unexpected keyword argument 'read_group_order'
添加这些行时显示以下错误,openerp 7
_group_by_full = {
'stage_id': lambda *args:['diagnostico','autorizado'],
}
显示以下错误
TypeError: <lambda>() got an unexpected keyword argument 'read_group_order'
鉴于您提供的内容,我唯一能做的就是给您一个广泛的答案。匿名函数 (lambda) 的结构如下所示:
lambda argument1, argument2,... argumentN : 使用参数的表达式
您的错误表明 lambda 需要一个关键字参数(kwargs),但您仅将位置参数(args)传递给函数。话虽如此,您可能想尝试以下代码:
_group_by_full = {
'stage_id': lambda *args, **kwargs:['diagnostico','autorizado'],
}
话虽如此,我认为这不会完全解决您的问题,它解决了这个问题:
前:
>>> x = lambda *args:['diagnostico','autorizado']
>>> x('one','two')
['diagnostico', 'autorizado']
>>> x('one','two', keyword='keyword')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: <lambda>() got an unexpected keyword argument 'keyword'
后:
>>> x = lambda *args, **kwargs:['diagnostico','autorizado']
>>> x('one','two', keyword='keyword')
['diagnostico', 'autorizado']
但正如您所看到的,您的函数将始终返回相同的列表。如果这些应该是您的论点,您将不得不相应地重写它并且不要忘记函数:)。希望这可以帮助。更多关于 lambda的信息。