如何覆盖ODOO中的功能字段方法



我在填写时间表时会遇到追溯错误。在D& d之后,我知道这是Odoo代码自我的问题。我将代码与最新的代码进行了比较。

问题:

该方法是从函数字段调用的。我已经成功地覆盖了它,但是问题是,在覆盖它之后,它首先将ODOO的原始方法称为原始方法,之后,它调用了我的覆盖方法。这就是为什么我面临相同的追溯错误。

这是默认代码:

def _get_task(self, cr, uid, id, context=None):
   res = []
   for line in self.pool.get('account.analytic.line').search_read(cr,uid,[('task_id', '!=', False),('id','in',id)], context=context):
       res.append(line['task_id'][0])
   return res

这是我在ODOO修复的错误之后的覆盖代码:

def _get_task(self, cr, uid, id, context=None):
   res = []
   for line in self.pool.get('account.analytic.line').search_read(cr, uid,[('task_id', '!=', False), ('id', 'in', id)], ['task_id'], context=context):
       res.append(line['task_id'][0])
   return res

这两个之间的唯一区别是['task_id'],它在search_read方法中添加。

有人可以帮助我吗?

功能字段的函数是从字段"定义"中调用的。由于您从未更改过该定义,因此该字段对您的功能一无所知。只需定义字段,您就可以更改新功能。但是要完全定义它,因为在必要的旧API中。

最新更新