You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 13中如何通过XML-RPC批量更新多条记录字段?

Odoo 13 XML-RPC批量更新记录报错解决

你的问题出在write方法的参数嵌套错误:你把记录ID列表额外套了一层列表,不符合Odoo API的参数要求。

错误代码问题点

原代码中,write方法的第一个参数被写成了[records_to_update](嵌套列表),但Odoo的write方法要求第一个参数是直接的记录ID列表,不需要额外嵌套。

正确代码

将代码修改为:

models.execute_kw(db, uid, pw, 'table.name', 'write',
                  [records_to_update, {'field': value}])

原因说明

Odoo XML-RPC的execute_kw方法最后一个参数是目标方法(这里是write)的参数列表:

  • write方法的第一个参数必须是记录ID的一维列表,用于指定要更新的记录
  • 第二个参数是字段值字典,所有指定记录的对应字段会被设置为字典中的值

你之前的嵌套写法会让Odoo把整个ID列表当成单个无效的记录ID处理,进而触发内部逻辑报错(就是你看到的message_values = dict((message_id, {}) for message_id in self.ids)相关错误)。

验证

修改后即可实现文档描述的批量更新功能:所有records_to_update中的记录会被统一设置为指定字段值。

内容的提问来源于stack exchange,提问作者Neill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:42:18