企业 Studio 导出

Odoo 企业版 Studio 导出为什么不是“把当前数据一股脑打包”:preset models、默认 domain 与字段排除边界讲透

Studio export 的难点不在按钮,而在什么该带、什么不该带:预置模型顺序、demo data、附件、默认 domain 和字段排除规则都被硬编码成导出边界。

Odoo 开发 企业
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 4 阅读

“导出配置”听起来像个简单功能,真正难的是:什么算配置,什么算现场数据,什么又是导出去反而会污染目标库的冗余字段。

主要参考:

  • enterprise/web_studio/models/studio_export_model.py

一、Preset models 说明 Studio 导出不是临时扫描,而是有产品判断

源码里维护了一大批 PRESET_MODELS_DEFAULTS:不同模型自带 sequence、默认 domain、是否包含 demo data、是否带附件等。

这说明导出策略不是“谁用到就导谁”,而是官方已经提前判断哪些对象在迁移/复制场景里更有价值。

二、默认 domain 是导出边界的一部分

比如某些模型只导 folder、只导非 draft/cancel 订单、或只导 workspace/shared 的 knowledge article。这个设计非常实用:它把“默认想带走的业务事实”直接编码进导出配置里。

三、字段排除为什么必须做成静态规则表

DEFAULT_FIELDS_TO_EXCLUDE 和抽象模型排除集合的价值,是阻止大量看似存在、实际不该迁移的字段混进结果,例如:

  • token / access_url / access_token
  • 计算缓存字段
  • 某些反向关系和衍生统计
  • 不稳定的图片派生字段

如果不先做这层排除,导出结果很容易变成“技术上很全,业务上很脏”。

四、结论

Studio 导出真正可学的点,是它明确承认“并不是所有现有字段都值得带走”。预设模型、默认 domain 和字段排除共同构成了可迁移边界。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。