跳转至

它像 Odoo Studio 吗?

评估本插件时常见的一个问题。以下是简短、自成一体的回答。

它像 Odoo Studio 吗?

部分是的。本插件直接在实例/数据库中做Studio 风格的低代码改动(添加一个 字段、调整一处视图、自动化一个简单动作),在 Community 或 Enterprise 上都 可以,而无需 Studio 应用(它是 Enterprise 专属的)。对于常见的低代码场景, 这种对等性是真实的,而这些场景正是大多数"帮我加个这个就行"请求的本质。

它把代码写入仓库还是数据库?

写入数据库。和 Studio 一样,这些定制会作为 Odoo 记录保存在实例中,而不是 作为仓库中的模块代码。它们像手动定制一样在升级中保留下来。

它能在 Community 上运行吗?

能。Studio 是 Enterprise 专属的,但它产生的记录(字段、视图、自动化)都是普通 记录。本插件通过 RPC 创建它们,因此你在 Community 上也能获得相同的成果, 而无需许可证。注意:在 Enterprise 中,这里创建的东西不会出现在 Studio 编辑器 里(它没有被标记为 web_studio),但在运行时表现相同。

每类改动存放在哪里?

Odoo Studio 本插件(RPC) 模块开发
编辑方式 仅 Enterprise Community Enterprise 任意
存储 实例/数据库中的记录 实例/数据库中的记录 仓库/模块中的代码文件
字段 可视化编辑器 odoo_add_field(手动 x_ 字段) 模型中的 Python 字段
视图 可视化编辑器 ir.ui.viewodoo_create(继承 xpath) 模块中的 XML
自动化 可视化编辑器 odoo_add_automation(safe_eval 服务器动作) ir.actions.server / 真实代码
之后可在 Studio 界面中编辑 否(运行方式相同,只是没有 Studio 标记)

它能替代模块开发吗?

不能。对于小型、低代码的事情,它省去了整个模块的工作量;但它不能替代严肃的 开发:打包的插件、迁移、自动化测试、复杂的业务逻辑,或任何必须置于版本控制中的 东西。若需要这些,请构建一个模块。本插件是用于那些小而快的事情的。

那 Odoo online/SaaS 中的 safe_eval 呢?

自动化在服务器端于 Odoo 的 safe_eval 下运行:没有 importdefclassreturnwith,也不能用下划线或双下划线访问。在 Odoo online/SaaS 中, 这一点会被严格强制执行。odoo_add_automation 会在发送之前校验你的 Python 代码,并以清晰的修正建议拒绝被禁止的结构。细节与配方见 低代码定制