覆盖stock.move中的action_done()时出错

时间:2016-08-30 19:07:28

标签: openerp odoo-8

我正在覆盖stock.move函数action_done()。但我得到一个错误如下:

TypeError: cannot convert dictionary update sequence element #0 to a sequence

我的代码如下:

stock.move中的原始功能:

def action_done(self, cr, uid, ids, context=None):
    context = context or {}
    .....

我的首要任务:

@api.model
def action_done(self):
    super(StockMove, self).action_done()

我尝试通过self = _cr和self._uid传递context = None,但我得到错误为“上下文的多个值” 此外,尝试复制整个签名,它给出错误“TypeError:无法将字典更新序列元素#0转换为序列”

此外,调用该函数的行在odoo core stock.py中,如下面的do_transfer函数:

self.pool.get('stock.move').action_done(cr, uid, todo_move_ids, context=notrack_context)

请帮助我。

谢谢,

1 个答案:

答案 0 :(得分:0)

您需要直接拨打old_api电话。已经有一个内置装饰器:

@api.v7
def action_done(self, cr, uid, ids, context=None):
    super(StockMove, self).action_done(cr, uid, ids, context=notrack_content)

但是您必须确保为todo_move_ids参数传递正确的ID