填写时间表时我遇到了追溯错误。在R& 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
这两者之间的唯一区别是在search_read方法中添加的['task_id']。
有人可以帮我解决一下吗?
答案 0 :(得分:1)
从字段"定义"中调用函数字段的函数。由于您从未更改过该定义,因此该字段对您的功能一无所知。只需定义字段,您就可以更改new的功能。但要注意完全定义它,因为在旧API中是必要的。