use*_*452 4 openerp python-2.7 odoo
添加这些行时显示以下错误,openerp 7
_group_by_full = {
'stage_id': lambda *args:['diagnostico','autorizado'],
}
Run Code Online (Sandbox Code Playgroud)
显示以下错误
TypeError: <lambda>() got an unexpected keyword argument 'read_group_order'
Run Code Online (Sandbox Code Playgroud)
鉴于你所提供的,我唯一能做的就是给你一个广泛的答案。匿名函数(lambda)的结构是这样的:
lambda argument1, argument2,... argumentN : 使用参数的表达式
您的错误表明 lambda 需要关键字参数 (kwargs),但您仅将位置参数 (args) 传递给函数。话虽如此,您可能想尝试使用以下代码:
_group_by_full = {
'stage_id': lambda *args, **kwargs:['diagnostico','autorizado'],
}
Run Code Online (Sandbox Code Playgroud)
话虽如此,我认为这不会完全解决您的问题,它解决了这个问题:
前:
>>> 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'
Run Code Online (Sandbox Code Playgroud)
后:
>>> x = lambda *args, **kwargs:['diagnostico','autorizado']
>>> x('one','two', keyword='keyword')
['diagnostico', 'autorizado']
Run Code Online (Sandbox Code Playgroud)
但是正如您所看到的,您的函数将始终返回相同的列表。如果这些应该是您的参数,您将不得不相应地重新编写它并且不要忘记函数:)。希望这可以帮助。更多关于 lambda在这里。
| 归档时间: |
|
| 查看次数: |
5598 次 |
| 最近记录: |