Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用ODOOXMLRPC一次在ODOO中创建多个值?_Python_Odoo - Fatal编程技术网

Python 如何使用ODOOXMLRPC一次在ODOO中创建多个值?

Python 如何使用ODOOXMLRPC一次在ODOO中创建多个值?,python,odoo,Python,Odoo,我可以使用以下代码一次创建多个值吗 id = models.execute_kw(db ,uid ,password ,'res.partner' ,'create' ,[{}] 在Odoo版本12(于2018-10-03发布)中,现在支持在一个XMLRPC调用中创建多个对象。在较旧的Odoo版本中,它不受支持。新的odoo12rpcapiexecute_kw create方法既可以用于对象列表,也可以用于单个对象(Python字典) 位于的当前文档不是最新的,仅显示旧的方式。使用Odoo 1

我可以使用以下代码一次创建多个值吗

id = models.execute_kw(db ,uid ,password ,'res.partner' ,'create' ,[{}]
在Odoo版本12(于2018-10-03发布)中,现在支持在一个XMLRPC调用中创建多个对象。在较旧的Odoo版本中,它不受支持。新的odoo12rpcapiexecute_kw create方法既可以用于对象列表,也可以用于单个对象(Python字典)

位于的当前文档不是最新的,仅显示旧的方式。使用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”

您需要使用以下更改修改代码:

  • 提供模型作为字典列表
  • 确保模型已定义名称和其他必填字段,否则将出现“联系人需要名称”错误
  • 添加结尾括号“)”

也许您想看看
循环记录
?感谢Zety更正了措辞。我更新了答案。我更新了答案,在ODOO12中加入了新的API版本。新API支持在一次调用中创建多个模型。