我正在尝试调用采购订单模型的wkf_confirm_order
方法。
在我的代码中,我使用了这一行:
po.wkf_confirm_order( self, cr, uid, [po.id] )
我得到以下堆栈跟踪,并且不了解参数的问题。一些帮助将非常受欢迎。
File "/etc/odoo/addons/asn_import/asn_model.py", line 60, in do_import_file
po.wkf_confirm_order( self, cr, uid, [po.id] )
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 254, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 580, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
TypeError: wkf_confirm_order takes at most 5 arguments (9 given)
po对象是使用以下命令创建的(暂时硬编码的值):
po = self.env['purchase.order'].create(cr, uid, {'partner_id':name_asc[0],'location_id':12,'pricelist_id':2})
答案 0 :(得分:0)
self作为参数给出。 你需要的唯一参数是cr,uid,id(在这种情况下是[po.id])和context(如果没有提供它将是None)
自我将被Odoo自动解析为方法
此代码应该有效:
po.wkf_confirm_order(cr, uid, [po.id] )
答案 1 :(得分:0)
确保po.id
是采购订单记录ID。
替换您的代码
po.wkf_confirm_order( self, cr, uid, [po.id] )
带
po.wkf_confirm_order(cr, uid, [po.id], context=context)