模型、模块和应用

模型决定数据库的逻辑结构以及数据的存储、组织和操作方式。换句话说,模型是一张可以与其他表关联的信息表。模型通常对应业务概念,如销售订单联系人产品

模块和应用包含各种元素,例如模型、视图、数据文件、Web 控制器和静态 Web 数据。

:::: note ::: title 注意 ::: 所有应用都是模块。较大、独立的模块通常称为应用,而其他模块通常作为这些应用的插件使用。 ::::

使用 Studio 创建新模型或应用时,可选择最多 14 项功能以加速创建过程。这些功能捆绑了字段、默认设置和视图,常常一起使用以提供标准功能。大多数功能事后也可以添加,但从一开始就加入可大幅简化模型创建流程。此外,这些功能在某些情况下会相互配合,提升实用性。

::: example 创建模型时启用 studio/models-modules-apps/suggested-features/picturestudio/models-modules-apps/suggested-features/pipeline-stages 功能,可在 看板视图 <studio/views/multiple-records/kanban> 的卡片布局中显示图片。

{.align-center} :::

选择 联系人详情 后,在 表单视图 <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/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/views/general/form> 中加入一个 日期字段 <studio/fields/simple-fields-date>,并激活 日历视图 <studio/views/timeline/calendar>

选择 日期范围与甘特图 后,在 表单视图 <studio/views/general/form> 中并排加入两个 日期字段 <studio/fields/simple-fields-date>(开始日期和结束日期),使用 daterange 小部件,并激活 甘特视图 <studio/views/timeline/gantt>

选择 流水线阶段 后,激活 看板视图 <studio/views/multiple-records/kanban>,并添加多个字段,如 优先级 <studio/fields/simple-fields-priority>看板状态,以及三个阶段:新建进行中已完成流水线状态栏看板状态 字段会出现在 表单视图 <studio/views/general/form>颜色 字段会出现在 列表视图 <studio/views/multiple-records/list>

:::: note ::: title 注意 ::: 流水线阶段 功能可在后期再添加。 ::::

选择 标签 后,在 表单视图 <studio/views/general/form>列表视图 <studio/views/multiple-records/list> 中加入 标签字段 <studio/fields/relational-fields-tags>,并在此过程中创建一个预配置访问权限的 标签 模型。

选择 图片 后,在 表单视图 <studio/views/general/form> 的右上角添加一个 图片字段 <studio/fields/simple-fields-image>

:::: note ::: title 注意 ::: 图片 功能可在后期再添加。 ::::

选择 后,在 表单视图 <studio/views/general/form> 中的 标签页 组件内加入 行字段 <studio/fields/relational-fields-lines>

选择 备注 后,在 表单视图 <studio/views/general/form> 中加入一个占满表单宽度的 Html 字段 <studio/fields/simple-fields-html>

选择 货币值 后,在 表单视图 <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/views/general/form>列表视图 <studio/views/multiple-records/list> 中加入一个链接到 公司 模型的 Many2One 字段 <studio/fields/relational-fields-many2one>

:::: note ::: title 注意 ::: 仅在多公司环境下有意义。 ::::

选择 自定义排序 后,在 列表视图 <studio/views/multiple-records/list> 中加入拖拽手柄图标,以手动重新排序记录。

::: example {.align-center} :::

选择 Chatter 后,在 表单视图 <studio/views/general/form> 中加入 Chatter 功能(发送消息、记录备注、安排活动)。

:::: note ::: title 注意 ::: Chatter 功能可在后期再添加。 ::::

::: example {.align-center} :::

选择 归档 后,在 表单视图 <studio/views/general/form>列表视图 <studio/views/multiple-records/list> 中加入 归档 操作,并默认在搜索和视图中隐藏已归档记录。

在 Studio 中进行任何自定义后,系统会在数据库中新增一个名为 [studio_customization] 的模块。可使用 Studio 导出 功能将该模块导出为 ZIP 文件,然后在其他 Odoo 数据库中导入此模块。这在搭建新模块或培训时非常有用。

:::: note ::: title 注意 ::: 以这种方式导出/导入自定义,而不是使用标准的 Odoo 导出与导入 <../essentials/export_import_data> 功能,可确保数据以逻辑顺序导入。例如,模块包含客户和销售订单时,系统会先创建客户,因为销售订单依赖于客户。 ::::

要导出自定义,点击主 Odoo 仪表盘上的 oi-studio(切换 Studio)按钮,然后选择 导出,接着可以:

  • 点击 导出 按钮下载所有 Studio 自定义;
  • 或点击 配置要导出的数据和演示数据 <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 文件。

:::: warning ::: title 警告 ::: 导入前请确保目标数据库使用相同的 Odoo 版本,并已安装与源数据库相同的应用和模块。Studio 不会将底层模块作为导出模块的依赖自动添加。 ::::

在另一 Odoo 数据库中导入并安装 Studio 自定义的步骤:

  1. 连接到目标数据库;
  2. 点击主 Odoo 仪表盘上的 oi-studio(切换 Studio)按钮,然后选择 导入
  3. 上传导出的 ZIP 文件。若需导入演示数据,勾选 加载演示数据
  4. 点击 安装