在导入前尝试避免重复
项目描述
基础导入匹配
默认情况下,当使用base_import
模块导入数据(如CSV导入)时,Odoo遵循以下规则:
如果你导入记录的XMLID,则进行更新。
如果没有,则创建一个新的记录。
此模块允许你设置额外的规则来匹配给定的导入是更新还是新记录。
当你需要同步异构数据库,并且你在这些数据库中用于匹配记录的字段不是XMLID而是名称、增值税、电子邮件等时,这很有用。
安装此模块后,导入逻辑将更改为:
如果你导入记录的XMLID,则进行更新。
如果你没有
如果存在导入匹配规则
丢弃需要你未导入字段的规则。
依次遍历剩余的规则以在数据库中找到匹配项。
如果需要满足特殊条件但未满足,则跳过该规则。
如果找到一个匹配项
停止遍历其余有效规则。
更新该记录。
如果找到零个或多个匹配项
继续执行下一个规则。
如果所有规则都已耗尽且未找到单个匹配项
创建一个新记录。
如果没有你的模型的匹配规则
创建一个新记录。
默认情况下,生产实例安装了2个规则
一个规则允许你在
is_company
为True
时基于公司的增值税更新公司。一个规则允许你根据用户的登录名更新用户。
在演示实例中还有更多示例。
配置
要配置此模块,你需要
前往 设置 > 技术 > 数据库结构 > 导入匹配。
创建.
选择一个 模型。
选择在该模型中构成唯一键的 字段。
如果规则必须仅用于某些导入值,请勾选 条件 并在 导入值 中输入将要导入的 确切字符串。
请注意,这里的匹配始终被视为区分大小写的 文本字符串。如果您输入例如 True,它将匹配该字符串,但不会匹配 1 或 true。
保存.
在此列表视图中,您可以通过拖放对规则进行排序。
用法
要使用此模块,您需要
按照上面 配置 部分的步骤进行操作。
前往任何列表视图。
按 导入 并按照常规导入程序进行操作。
已知问题 / 路线图
添加一个设置,当找到多个匹配项时抛出错误,而不是回退到创建新记录。
错误跟踪器
错误在 GitHub Issues 上跟踪。如果在那里遇到问题,请检查您的错误是否已被报告。如果您是第一个发现它的人,请帮助我们消除它,提供详细且受欢迎的反馈。
鸣谢
贡献者
Jairo Llopis <yajo.sk8@gmail.com>
Vicent Cubells <vicent.cubells@tecnativa.com>
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。
要为此模块做出贡献,请访问 https://odoo-community.org。
项目详情
散列 for odoo10_addon_base_import_match-10.0.1.0.0-py2-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 18ea68eafdcf4013291f8c90fa8aa3bb8cb959d6cd563443430752ac32be2d14 |
|
MD5 | 7b2c95d4a71bb924df58419e2380e096 |
|
BLAKE2b-256 | 7ef45acf04d5c0a594c7ddf93c87abce0864d415078933e2a7c1284144f06b82 |