我可以使用以下代码一次创建多个值吗?
id = models.execute_kw(db ,uid ,password ,'res.partner' ,'create' ,[{}]
答案 0 :(得分:2)
在Odoo版本12(2018-10-03发布)中,现在支持在一个XMLRPC调用中创建多个对象。在较旧的Odoo版本中,它不受支持。新的Odoo 12 RPC API execute_kw create方法既可以用于对象列表,也可以用于单个对象(Python字典)。
https://www.odoo.com/documentation/12.0/webservices/odoo.html的当前文档不是最新的,仅显示旧方法。使用Odoo 12后端,您可以使用以下两种语法:
id = models.execute_kw(db, uid, password, 'res.partner', 'create', [{
'name': "New Partner",
}])
ids = models.execute_kw(db, uid, password, 'res.partner', 'create', [[{
'name': "New Partner",
}, {
'name': "Another New Partner",
}]])
第一个语句创建一个新模型并将id作为整数返回,例如: 123.第二个声明仅适用于Odoo 12并创建多个新模型并返回一个id列表,例如[124125]。请注意后面语法中的两个括号。如果您尝试在较旧的Odoo版本中运行更高版本的语句,它们将引发AttributeError:'list'对象没有属性'get'。
您需要使用以下更改修改代码: