显示以下错误:openerp 7
_group_by_full = {
'stage_id': lambda *args:['diagnostico','autorizado'],
}
显示以下错误
TypeError: <lambda>() got an unexpected keyword argument 'read_group_order'
答案 0 :(得分:4)
鉴于您提供的内容,我唯一能做的就是给您一个广泛的答案。匿名函数(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 here。