Odoo Studio 模型、模块与应用功能概览及自定义导入导出指南
模型、模块和应用
模型决定数据库的逻辑结构以及数据的存储、组织和操作方式。换句话说,模型是一张可以与其他表关联的信息表。模型通常对应业务概念,如销售订单、联系人或产品。
模块和应用包含各种元素,例如模型、视图、数据文件、Web 控制器和静态 Web 数据。
:::: note ::: title 注意 ::: 所有应用都是模块。较大、独立的模块通常称为应用,而其他模块通常作为这些应用的插件使用。 ::::
建议功能 {#studio/models-modules-apps/suggested-features}
使用 Studio 创建新模型或应用时,可选择最多 14 项功能以加速创建过程。这些功能捆绑了字段、默认设置和视图,常常一起使用以提供标准功能。大多数功能事后也可以添加,但从一开始就加入可大幅简化模型创建流程。此外,这些功能在某些情况下会相互配合,提升实用性。
::: example
创建模型时启用 studio/models-modules-apps/suggested-features/picture 与 studio/models-modules-apps/suggested-features/pipeline-stages 功能,可在 看板视图 <studio/views/multiple-records/kanban> 的卡片布局中显示图片。
{.align-center} :::
联系人详情 {#studio/models-modules-apps/suggested-features/contact-details}
选择 联系人详情 后,在 表单视图 <studio/views/general/form> 中添加一个链接到 联系人 模型的 Many2One 字段 <studio/fields/relational-fields-many2one>,以及其两个 关联字段 <studio/fields/relational-fields-related-field>:电话 和 电子邮件。联系人 字段同样会出现在 列表视图 <studio/views/multiple-records/list>,并激活 地图视图 <studio/views/multiple-records/map>。
::: example {.align-center} :::
用户分配 {#studio/models-modules-apps/suggested-features/user-assignment}
选择 用户分配 后,在 表单视图 <studio/views/general/form> 中添加一个链接到 联系人 模型的 Many2One 字段 <studio/fields/relational-fields-many2one>,其 Domain 为 [Share User is not set],仅允许选择 内部用户。同时使用 many2one_avatar_user 小部件显示用户头像。负责人 字段也会添加到 列表视图 <studio/views/multiple-records/list>。
::: example {.align-center} :::
日期与日历 {#studio/models-modules-apps/suggested-features/date-calendar}
选择 日期与日历 后,在 表单视图 <studio/views/general/form> 中加入一个 日期字段 <studio/fields/simple-fields-date>,并激活 日历视图 <studio/views/timeline/calendar>。
日期范围与甘特图 {#studio/models-modules-apps/suggested-features/date-range-gantt}
选择 日期范围与甘特图 后,在 表单视图 <studio/views/general/form> 中并排加入两个 日期字段 <studio/fields/simple-fields-date>(开始日期和结束日期),使用 daterange 小部件,并激活 甘特视图 <studio/views/timeline/gantt>。
流水线阶段 {#studio/models-modules-apps/suggested-features/pipeline-stages}
选择 流水线阶段 后,激活 看板视图 <studio/views/multiple-records/kanban>,并添加多个字段,如 优先级 <studio/fields/simple-fields-priority> 与 看板状态,以及三个阶段:新建、进行中、已完成。流水线状态栏 与 看板状态 字段会出现在 表单视图 <studio/views/general/form>,颜色 字段会出现在 列表视图 <studio/views/multiple-records/list>。
:::: note
::: title
注意
::: 流水线阶段 功能可在后期再添加。
::::
标签 {#studio/models-modules-apps/suggested-features/tags}
选择 标签 后,在 表单视图 <studio/views/general/form> 与 列表视图 <studio/views/multiple-records/list> 中加入 标签字段 <studio/fields/relational-fields-tags>,并在此过程中创建一个预配置访问权限的 标签 模型。
图片 {#studio/models-modules-apps/suggested-features/picture}
选择 图片 后,在 表单视图 <studio/views/general/form> 的右上角添加一个 图片字段 <studio/fields/simple-fields-image>。
:::: note
::: title
注意
::: 图片 功能可在后期再添加。
::::
行 {#studio/models-modules-apps/suggested-features/lines}
选择 行 后,在 表单视图 <studio/views/general/form> 中的 标签页 组件内加入 行字段 <studio/fields/relational-fields-lines>。
备注 {#studio/models-modules-apps/suggested-features/notes}
选择 备注 后,在 表单视图 <studio/views/general/form> 中加入一个占满表单宽度的 Html 字段 <studio/fields/simple-fields-html>。
货币值 {#studio/models-modules-apps/suggested-features/monetary-value}
选择 货币值 后,在 表单视图 <studio/views/general/form> 与 列表视图 <studio/views/multiple-records/list> 中加入 货币字段 <studio/fields/simple-fields-monetary>。同时激活 图表视图 <studio/views/reporting/graph> 与 透视视图 <studio/views/reporting/pivot>。
:::: note ::: title 注意 ::: 会额外添加一个 币种 字段并在视图中隐藏。 ::::
公司 {#studio/models-modules-apps/suggested-features/company}
选择 公司 后,在 表单视图 <studio/views/general/form> 与 列表视图 <studio/views/multiple-records/list> 中加入一个链接到 公司 模型的 Many2One 字段 <studio/fields/relational-fields-many2one>。
:::: note ::: title 注意 ::: 仅在多公司环境下有意义。 ::::
自定义排序 {#studio/models-modules-apps/suggested-features/custom-sorting}
选择 自定义排序 后,在 列表视图 <studio/views/multiple-records/list> 中加入拖拽手柄图标,以手动重新排序记录。
::: example {.align-center} :::
Chatter {#studio/models-modules-apps/suggested-features/chatter}
选择 Chatter 后,在 表单视图 <studio/views/general/form> 中加入 Chatter 功能(发送消息、记录备注、安排活动)。
:::: note
::: title
注意
::: Chatter 功能可在后期再添加。
::::
::: example {.align-center} :::
归档 {#studio/models-modules-apps/suggested-features/archiving}
选择 归档 后,在 表单视图 <studio/views/general/form> 与 列表视图 <studio/views/multiple-records/list> 中加入 归档 操作,并默认在搜索和视图中隐藏已归档记录。
导出与导入自定义 {#studio/export-import}
在 Studio 中进行任何自定义后,系统会在数据库中新增一个名为 [studio_customization] 的模块。可使用 Studio 导出 功能将该模块导出为 ZIP 文件,然后在其他 Odoo 数据库中导入此模块。这在搭建新模块或培训时非常有用。
:::: note
::: title
注意
:::
以这种方式导出/导入自定义,而不是使用标准的 Odoo 导出与导入 <../essentials/export_import_data> 功能,可确保数据以逻辑顺序导入。例如,模块包含客户和销售订单时,系统会先创建客户,因为销售订单依赖于客户。
::::
导出自定义 {#studio/export-import/export}
要导出自定义,点击主 Odoo 仪表盘上的 oi-studio(切换 Studio)按钮,然后选择 导出,接着可以:
- 点击
导出按钮下载所有 Studio 自定义; - 或点击
配置要导出的数据和演示数据 <studio/export-import/export/configure>,选择性导出。
配置要导出的数据 {#studio/export-import/export/configure}
在 Studio 导出 界面点击 新建,开始输入模型名称或从列表中选择模型,以指定要导出的模型。
:::: tip
::: title
提示
:::
点击 预设 可查看数据库中所有已使用 Studio 修改记录的模型以及所有由 Studio 创建的自定义模型。要为导出配置其中一个模型,点击该模型打开并进行所需修改。
::::
根据需求勾选以下选项:
演示:导出的记录在导入时视为演示数据;附件:导出记录关联的附件;可更新:导出的记录在模块更新时可被更新。
如有需要,可编辑 Domain 以确定该模型的哪些记录会被导出。点击 编辑域 按钮或 fa-caret-right(修改过滤器)后选择 编辑域,进行相应设置。
配置完模型后,点击 Studio 导出 返回主界面。若要下载包含所有列出模型自定义的 ZIP 文件,点击 导出。
:::: note
::: title
注意
:::
不必一定选择模型,所有列出的模型默认都会被导出。若想从导出中移除模型,选中模型后点击 fa-cog(操作)按钮,再点 fa-trash-o(删除)。
::::
在 Studio 导出 窗口:
- 若只想导出 Studio 所做的自定义,保持复选框未勾选;
- 勾选
包含数据可将所选模型的数据一并导出; - 勾选
包含演示数据会同时勾选包含数据,并导出标记为演示的数据。
点击 导出 按钮下载 ZIP 文件。
导入自定义 {#studio/export-import/import}
:::: warning ::: title 警告 ::: 导入前请确保目标数据库使用相同的 Odoo 版本,并已安装与源数据库相同的应用和模块。Studio 不会将底层模块作为导出模块的依赖自动添加。 ::::
在另一 Odoo 数据库中导入并安装 Studio 自定义的步骤:
- 连接到目标数据库;
- 点击主 Odoo 仪表盘上的
oi-studio(切换 Studio)按钮,然后选择导入; - 上传导出的 ZIP 文件。若需导入演示数据,勾选
加载演示数据; - 点击
安装。