跳转到主要内容

在导入前尝试避免重复

项目描述

License: AGPL-3

基础导入匹配

默认情况下,当使用base_import模块导入数据(如CSV导入)时,Odoo遵循以下规则:

  • 如果你导入记录的XMLID,则进行更新

  • 如果没有,则创建一个新的记录。

此模块允许你设置额外的规则来匹配给定的导入是更新还是新记录。

当你需要同步异构数据库,并且你在这些数据库中用于匹配记录的字段不是XMLID而是名称、增值税、电子邮件等时,这很有用。

安装此模块后,导入逻辑将更改为:

  • 如果你导入记录的XMLID,则进行更新

  • 如果你没有

    • 如果存在导入匹配规则

      • 丢弃需要你未导入字段的规则。

      • 依次遍历剩余的规则以在数据库中找到匹配项。

        • 如果需要满足特殊条件但未满足,则跳过该规则。

        • 如果找到一个匹配项

          • 停止遍历其余有效规则。

          • 更新该记录。

        • 如果找到零个或多个匹配项

          • 继续执行下一个规则。

        • 如果所有规则都已耗尽且未找到单个匹配项

          • 创建一个新记录。

    • 如果没有你的模型的匹配规则

      • 创建一个新记录。

默认情况下,生产实例安装了2个规则

  • 一个规则允许你在is_companyTrue时基于公司的增值税更新公司。

  • 一个规则允许你根据用户的登录名更新用户。

在演示实例中还有更多示例。

配置

要配置此模块,你需要

  1. 前往 设置 > 技术 > 数据库结构 > 导入匹配

  2. 创建.

  3. 选择一个 模型

  4. 选择在该模型中构成唯一键的 字段

  5. 如果规则必须仅用于某些导入值,请勾选 条件 并在 导入值 中输入将要导入的 确切字符串

    1. 请注意,这里的匹配始终被视为区分大小写的 文本字符串。如果您输入例如 True,它将匹配该字符串,但不会匹配 1true

  6. 保存.

在此列表视图中,您可以通过拖放对规则进行排序。

用法

要使用此模块,您需要

  1. 按照上面 配置 部分的步骤进行操作。

  2. 前往任何列表视图。

  3. 导入 并按照常规导入程序进行操作。

Try me on Runbot

已知问题 / 路线图

  • 添加一个设置,当找到多个匹配项时抛出错误,而不是回退到创建新记录。

错误跟踪器

错误在 GitHub Issues 上跟踪。如果在那里遇到问题,请检查您的错误是否已被报告。如果您是第一个发现它的人,请帮助我们消除它,提供详细且受欢迎的反馈。

鸣谢

贡献者

维护者

Odoo Community Association

此模块由 OCA 维护。

OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。

要为此模块做出贡献,请访问 https://odoo-community.org

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅 生成分发存档 的教程。

构建分发

odoo10_addon_base_import_match-10.0.1.0.0-py2-none-any.whl (125.1 kB 查看散列)

上传 Python 2

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面