简短回答:查看 CSV 导入和导出向导的工作方式 - 导出记录会自动创建一个外部标识符,因此您可以重新导入相同的 CSV,并且记录将被更新而不是重新创建。
长答案:
OpenERP 将外部 ID 存储在ir.model.data
表中,您可以通过设置菜单1在用户界面中访问它。这个简单的表将表单中的“外部标识符”映射module_name.record_identifier
到(model,res_id)
指向实际表和行的对。
这些外部 ID 用于查找与某个外部源创建的记录相对应的数据库本地行:module
通常是模块(因此是基于 - 的命名空间)或导入的 CSV 文件。
例如,外部标识符base.EUR
映射到在数据库中保存欧元货币的数据库记录,并由base
模块拥有。
从 6.1 版开始,OpenERP 自动为使用侧栏导出向导导出的所有 OpenERP 记录创建新的外部标识符:它们被导出到名为 .csv 的 CSV 列中。id
如果这样的id
列存在于通过导入向导导入的 CSV 文件中,OpenERP 还将创建一个外部标识符来记住它。并且当外部标识符已经存在时,记录会更新而不是创建。
理论上,您所要做的就是从您的主数据库中生成一个带有额外第 2id
列的适当 CSV 文件(您甚至可以使用实际的 DB ID),然后将其导入 OpenERP。然后,您应该能够随时重新导入此 CSV 文件的更新版本。
参考:
1在 OpenERP 6.1 中,它位于Settings>Configuration>Sequences & Identifiers>External Identifiers下,在 OpenERP 版本 7 中位于Settings>Technical>Sequences & Identifiers>External Identifiers下。
2可以是任何没有点“.
”字符的字符串:它将被存储在一个特殊的__export__
模块命名空间中)