Skip to main content

导入前尽量避免重复

项目描述

贝塔 许可证:AGPL-3 OCA/服务器后端 在 Weblate 上翻译我 试试我的 Runbot

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

  • 如果您导入记录的 XMLID,请进行更新

  • 如果不这样做,请创建一个新记录。

此模块允许您设置其他规则以匹配给定导入是更新还是新记录。

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

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

  • 如果您导入记录的 XMLID,请进行更新

  • 如果你不:

    • 如果您要导入的模型有导入匹配规则:

      • 放弃需要您不导入的字段的规则。

      • 一条一条地遍历剩余的规则,以便在数据库中找到匹配项。

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

        • 如果找到一个匹配项:

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

          • 更新该记录。

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

          • 继续下一条规则。

        • 如果所有规则都用尽并且没有找到单个匹配项:

          • 创建新记录。

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

      • 创建新记录。

默认情况下,为生产实例安装 2 条规则:

  • 当is_companyTrue时,一条规则将允许您根据公司的增值税更新公司 。

  • 一条规则,允许您根据用户的登录信息更新用户。

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

目录

<nav class="contents local" id="contents" role="doc-toc"> </nav>

配置

要配置此模块,您需要:

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

  2. 创建.

  3. 选择一个模型

  4. 选择符合该模型中唯一键的字段。

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

    1. 请记住,此处的匹配始终被评估为区分大小写的 文本字符串。如果您输入例如True,它将匹配该字符串,但不会匹配1true

  6. 保存

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

用法

要使用此模块,您需要:

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

  2. 转到任何列表视图。

  3. 导入并照常执行导入程序。

已知问题/路线图

  • 添加设置以在找到多个匹配项时引发错误,而不是回退到创建新记录。

错误追踪器

在GitHub 问题上跟踪错误。如果遇到问题,请检查您的问题是否已被报告。如果您首先发现它,请通过提供详细且受欢迎的 反馈来帮助我们粉碎它。

不要就技术问题的支持或帮助直接联系贡献者。

学分

作者

  • 技术

贡献者

  • Tecnativa : * Jairo Llopis * Vicent Cubells * Ernesto Tejeda

维护者

该模块由 OCA 维护。

Odoo 社区协会

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

该模块是GitHub 上OCA/server-backend项目的一部分。

欢迎您贡献。要了解如何,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

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

内置分布

odoo_addon_base_import_match-15.0.1.0.0.2-py3-none-any.whl (137.4 kB 查看哈希

已上传 py3