跳转到主要内容

在导入前尝试避免重复

项目描述

Beta License: AGPL-3 OCA/server-backend Translate me on Weblate Try me on Runbot

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

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

  • 如果不这样做,则 创建 新记录。

此模块允许您设置额外的规则以确定给定的导入是更新还是新记录。

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

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

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

  • 如果

    • 如果您正在导入的模型有导入匹配规则

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

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

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

        • 如果找到匹配项

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

          • 更新 该记录。

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

          • 继续执行下一个规则。

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

          • 创建 新记录。

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

      • 创建 新记录。

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

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

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

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

目录

配置

要配置此模块,您需要

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

  2. 创建.

  3. 选择一个 模型

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

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

    1. 请注意,此处匹配始终按大小写敏感的 文本字符串 进行评估。如果您输入例如 True,它将匹配该字符串,但不会匹配 1true

  6. 保存.

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

用法

要使用此模块,您需要

  1. 遵循上面 配置 部分的步骤。

  2. 转到任何列表视图。

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

已知问题/路线图

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

错误跟踪器

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

请不要直接联系贡献者寻求支持或帮助解决技术问题。

鸣谢

作者

  • Tecnativa

贡献者

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

维护者

此模块由 OCA 维护。

Odoo Community Association

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

此模块是 GitHub 上的 OCA/server-backend 项目的组成部分。

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

项目详情


下载文件

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

源代码分发

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

构建分发

odoo12_addon_base_import_match-12.0.1.1.1-py3-none-any.whl (135.6 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面