微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml-rpc – Odoo 10 – 来自XMLRPC的调用方法

我扩展了模型stock.picking使用一个名为do_new_transfer_xmlrpc的新方法,该方法XMLRPC启用基本的new_transfer.

class Picking(models.Model):
  _inherit = 'stock.picking'

  @api.multi
  def do_new_transfer_xmlrpc(self):
    print 'DEBUG'
    self.do_transfer()
    return ['OK','']

我尝试使用以下方法调用方法

api.execute_kw(db,uid,pwd,'stock.picking','do_new_transfer_xmlrpc',[[int(picking_id)],{}])

但我得到:

Fault: <Fault 1: 'Traceback (most recent call last):\n  File "/usr/lib/python2.7/dist-packages/odoo/service/wsgi_server.py",line 56,in xmlrpc_return\n    result = odoo.http.dispatch_rpc(service,method,params)\n  File "/usr/lib/python2.7/dist-packages/odoo/http.py",line 118,in dispatch_rpc\n    result = dispatch(method,params)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py",line 38,in dispatch\n    res = fn(db,*params)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py",line 157,in execute_kw\n    return execute(db,obj,*args,**kw or {})\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py",line 101,in wrapper\n    return f(dbname,**kwargs)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py",line 164,in execute\n    res = execute_cr(cr,**kw)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py",line 153,in execute_cr\n    return odoo.api.call_kw(recs,args,kw)\n  File "/usr/lib/python2.7/dist-packages/odoo/api.py",line 685,in call_kw\n    method = getattr(type(model),name)\nAttributeError: type object \'stock.picking\' has no attribute \'do_new_transfer_xmlrpc\'\n'>

使用的调用方法是否正确编写?

解决方法

这是正确的语法:

api.execute_kw(db,[int(picking_id)])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。