Function 如何在odoo中重写函数字段的方法?

Function 如何在odoo中重写函数字段的方法?,function,methods,field,odoo,extend,Function,Methods,Field,Odoo,Extend,我在填写时间表时遇到回溯错误。在研发之后,我开始意识到这是奥多代码本身的问题。我将代码与最新的代码进行了比较,发现了问题所在 问题: 该方法是从函数字段调用的。我已经成功地重写了它,但问题是,在重写它之后,它首先调用Odoo的原始方法,然后调用我的重写方法。这就是为什么我面临同样的回溯错误 这里是默认代码: def\u get\u任务(self、cr、uid、id、context=None): res=[] 对于self.pool.get('account.analysis.line')中的行。

我在填写时间表时遇到回溯错误。在研发之后,我开始意识到这是奥多代码本身的问题。我将代码与最新的代码进行了比较,发现了问题所在

问题:

该方法是从函数字段调用的。我已经成功地重写了它,但问题是,在重写它之后,它首先调用Odoo的原始方法,然后调用我的重写方法。这就是为什么我面临同样的回溯错误

这里是默认代码:

def\u get\u任务(self、cr、uid、id、context=None):
res=[]
对于self.pool.get('account.analysis.line')中的行。搜索读取(cr,uid,[('task\u id','!=',False),('id','in',id)],上下文=上下文):
res.append(第['task_id'][0]行)
返回res
这是我在Odoo修复错误后覆盖的代码:

def\u get\u任务(self、cr、uid、id、context=None):
res=[]
对于self.pool.get('account.analysis.line')中的行。搜索读取(cr,uid,[('task\u id','!=',False),('id','in',id)],['task\u id',context=context):
res.append(第['task_id'][0]行)
返回res
这两者之间的唯一区别是在search\u read方法中添加的['task\u id']


有人能帮我一下吗?

函数字段的函数是从字段“定义”中调用的。由于您从未更改过该定义,因此该字段对您的函数一无所知。只需定义字段,就可以将函数更改为new。但是要注意完整地定义它,因为在旧API中这是必要的。

重写字段定义更改函数名。它可能对你有用