产品资料已经迁入Odoo,之后又要修改一批说明或属性,这时重复导入的目的应当是更新既有记录,而不是重新建立一套看起来相同的产品。判断两次导入是否指向同一记录,不能只凭产品名称或表格行号。更重要的是,原有记录的身份标识是否被完整保留。

Odoo 19官方导入导出文档说明,重复导入文件含有External ID或Database ID列时,工具可以识别既有记录并进行修改;在更新数据的说明中,文档特别要求保持External ID一致,改动或删掉它可能产生重复记录。[1] 这解释了为什么整理表格时一列看似无业务含义的编码,实际上关系到更新落在哪一条数据上。

把标识列与待修改内容分开看

可以将工作表中的信息理解为两类:一类回答“这是哪条记录”,另一类回答“这条记录的哪些内容要变化”。产品名称可能被修订,分类可能调整,但这些变化不应自动变成重新编排标识的理由。尤其不要把重新排序后的序号,未经核对就当成原有记录的External ID。

文档还介绍了用于更新的兼容导出选项:启用该选项时,导出会包含External ID,并将可选字段限制在能够再次导入的范围。[1] 因此,普通业务报表与供更新使用的数据文件不能只因都能被表格软件打开,就被当成完全相同的材料。开始整理前,应确认文件原本是为查看数据还是为回写更新而生成。

留下能核对的一组关系

对实施交接而言,一份简短的字段对照说明很有帮助。例如,记录旧系统标识、当前External ID以及本次拟变更字段之间的关系;若发现同一标识对应多条不同对象,先把它列为待核实问题,不宜直接猜测合并。这个交接思路是本文的资料管理建议,并非软件自动保证数据正确的功能。

导入界面提供字段映射与Test检查,但测试通过也不能替代业务人员判断:映射到了一个合法字段,未必就是本次想修改的字段;能执行的更新,也未必符合原先的修改范围。实际处理前,应由实施负责人在适当测试与备份安排下核对样本、字段和影响范围。

本文依据Odoo 19.0版本文档解释记录识别机制,不假定其他版本界面完全相同,也不提供针对某个生产库的直接批量操作指令。把稳定标识保留下来、把本次业务变更说明白,才能让“再次导入”更接近明确的更新,而不是一次难以追溯的重复建档。

参考来源:[1] Odoo,Export and import data,19.0文档;本次核对未见明确发布日期。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。