Odoo 10-通过XMLRPC添加订单行

Odoo 10-通过XMLRPC添加订单行,odoo,xml-rpc,odoo-10,Odoo,Xml Rpc,Odoo 10,我正在尝试通过XMLRPC向现有销售订单添加订单行 我正在尝试: r = api.execute_kw(db, uid, pwd, 'sale.order', 'write', [[sc]], { 'order_line': (0, '_', {'product_id': id, 'product_uom_qty': qty}) }) 其中,id,qty是整数,sc是销售订单的id的整数 我得到这个错误: Fault: <Fault 1: 'Traceback (most recent

我正在尝试通过XMLRPC向现有销售订单添加订单行

我正在尝试:

r = api.execute_kw(db, uid, pwd, 'sale.order', 'write',  [[sc]], { 'order_line': (0, '_', {'product_id': id, 'product_uom_qty': qty}) })
其中,
id
qty
是整数,
sc
是销售订单的
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, uid, *params)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py", line 157, in execute_kw\n    return execute(db, uid, obj, method, *args, **kw or {})\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py", line 101, in wrapper\n    return f(dbname, *args, **kwargs)\n  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py", line 164, in execute\n    res = execute_cr(cr, uid, obj, method, *args, **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, method, args, kw)\n  File "/usr/lib/python2.7/dist-packages/odoo/api.py", line 689, in call_kw\n    return call_kw_multi(method, model, args, kwargs)\n  File "/usr/lib/python2.7/dist-packages/odoo/api.py", line 680, in call_kw_multi\n    result = method(recs, *args, **kwargs)\nTypeError: write() got an unexpected keyword argument \'order_line\'\n'>
故障:

传递给字段的值格式不正确。它应该是一个元组列表,而不仅仅是一个元组

尝试将以下值传递给它

{ 'order_line': [(0, '_', {'product_id': id, 'product_uom_qty': qty})]}

希望它能解决您面临的问题。

传递给字段的值格式不正确。它应该是一个元组列表,而不仅仅是一个元组

尝试将以下值传递给它

{ 'order_line': [(0, '_', {'product_id': id, 'product_uom_qty': qty})]}

希望它能解决您面临的问题。

我在这里看到两个错误。萨诺拉·汗(Sanaullah Khan)已经指出了一个问题:写入
one2many
many2many
字段必须是一个“三胞胎”列表

你的电话不对。您正在通话中使用
args
kwargs
write()
的values参数不是关键字参数。因此,将其输入到
参数中

r=api.execute\u kw(
db,uid,pwd,“销售订单”,“写入”,
[[sc],{'order\u line':\\ args
[(0,,{'product'u id':id,'product'u uom'u qty':qty}],
{}#kwargs

我在这里看到两个错误。萨诺拉·汗(Sanaullah Khan)已经指出了一个问题:写入
one2many
many2many
字段必须是一个“三胞胎”列表

你的电话不对。您正在通话中使用
args
kwargs
write()
的values参数不是关键字参数。因此,将其输入到
参数中

r=api.execute\u kw(
db,uid,pwd,“销售订单”,“写入”,
[[sc],{'order\u line':\\ args
[(0,,{'product'u id':id,'product'u uom'u qty':qty}],
{}#kwargs