设置

在本章中,您将学习:

  • 如何搭建您的本地开发环境。

  • Odoo 数据库结构的概貌。

  • 如何在本地环境中导出和导入 Odoo 数据库。

  • 如何让一个 Odoo 实例运行起来。

安装

根据预期用途的不同,安装 Odoo 有多种方式。本文档假设您使用 源码安装 (从源代码运行 Odoo),这种方式最适合 Odoo 设计师和开发人员。

数据库

结构

每个 Odoo 应用的工作方式都很相似;它们基于相同的逻辑构建。模型包含字段以及指向其他模型的关联字段。每个模型都有表示其所有字段的视图,包括后端视图和前端视图。

模型

Odoo 的基础是模型。模型使用字段来记录数据。记录存储在数据库中:因此它们与模型相关联。在 Odoo 中,您可以启用 开发者模式,然后进入 设置 ‣ 技术 ‣ 数据库结构: 模型 来查找各个模型。

模型页面

字段

在模型中,我们将集中管理字段(即我们需要在代码中定位的字段名称)。

更多内容

字段和小组件

常规字段
  • 日期

  • 字符型

  • 选择

  • …

关联字段

关联字段会调用另一个模型中的字段。它们让您能够将模型链接在一起并轻松实现交互。换言之,使用关联字段时,您将一条记录与另一条记录(位于另一个模型上)关联起来,从而可以获取该关联记录上字段的内容。

  • Many2one 字段通过从另一个模型的记录列表中选择一条记录来填写(从 多 条记录中选择 一 条)。例如,报价单上的 customer 字段让您从 contact 模型上的多个客户列表中选择一个客户。

  • One2many 字段是对现有 many2one 关系的反向搜索。例如,您可以在联系人上列出其所有现有报价单(从 一 条记录显示 多 条)。

  • Many2many 字段通过从另一个模型的记录列表中选择一条或多条记录来填写。例如,您可以在一个产品上添加多个标签,而多个产品也可以使用相同的标签(从 多 条记录中可以选择 多 条)。

视图

视图定义了记录应以何种方式展示给最终用户。视图以 XML 指定,这意味着它们可以独立于其所代表的模型进行编辑。视图非常灵活,允许对其控制的界面进行深度自定义。

后端与前端
  • 后端视图: 看板、列表、表单等。

  • 前端视图: QWeb

静态与动态
  • 静态页面 的内容是固定的,例如主页。您可以定义它们的 URL 并设置一些属性,如是否发布、是否被索引等。

  • 动态页面 是动态生成的,例如产品页面。它们的 URL 是动态的,默认所有人都可以访问(可通过配置访问权限进行更改)。

标准与继承
  • 标准视图 是由 Odoo 实现的基础视图。它们直接派生自其模型。您不应修改它们,因为它们允许在不覆盖客户修改的情况下更新 Odoo 数据库。

  • 继承视图 是复制的视图。修改总是在继承视图中进行。如果存在重复的视图,数据库中将会有两个同名视图,但与标准视图不同,复制的视图不会有 ID。

导入现有数据库

Note

如果您不需要导入现有数据库,可以直接前往 主题制作 章节。

转储

Odoo SaaS 版

前往 <database_url>/saas_worker/dump。

Odoo.sh云
  1. 连接到 Odoo.sh。

  2. 选择您要备份的分支。

  3. 选择 BACKUPS 选项卡。

  4. 点击 Create Backup 按钮。

  5. 流程结束后会出现一条通知。打开通知并点击 Go to Backup 按钮。

  6. 点击 Download 图标。在 Purpose 下选择 Testing,在 Filestore 下选择 With filestore。

    下载备份
  7. 转储准备好可供下载时,您将收到一条通知。打开通知并点击 Download 获取您的转储文件。

    数据库备份

移动 filestore

复制 filestore 文件夹中包含的所有文件夹,并将它们粘贴到您计算机上的以下位置:

  • macOS: /Users/<User>/Library/Application Support/Odoo/filestore/<database_name>

  • Linux: /home/<User>/.local/share/Odoo/filestore/<database_name>

Note

/Library 是一个隐藏文件夹。

数据库设置

创建一个空数据库。

createdb <database_name>

将 SQL 文件导入刚创建的数据库中。

psql <database_name> < dump.sql

重置管理员用户的密码。

psql \c
<database_name>
update res_users set login='admin', password='admin' where id=2;

如有必要,禁用强制执行双因素认证的策略选项。

psql <database-name>
update res_users set top_secret='' where id=2;

入门

运行 Odoo

所有依赖项都设置完成后,即可通过运行 odoo-bin (服务器的命令行界面)来启动 Odoo。它位于 Odoo Community 目录的根目录下。

要配置服务器,您可以指定命令行参数或使用配置文件。下面介绍第一种方法。

CLI 提供了多项与 Odoo 相关的功能。您可以用它来 运行服务器、生成 Odoo 主题脚手架、填充数据库或统计代码行数。

Shell 脚本

运行服务器 的一种典型方式是将所有命令行参数添加到一个 .sh 脚本中。

Example

./odoo-bin --addons-path=../enterprise,addons --db-filter=<database> -d <database> --without-demo=all -i website --dev=xml

文件夹

说明

--addons-path

以逗号分隔的目录列表,模块存放于这些目录中。系统会扫描这些目录以查找模块。

-d

--database

安装或更新模块时使用的数据库。

--db-filter

隐藏与过滤器不匹配的数据库。

-i

--init

运行服务器之前要安装的模块列表(以逗号分隔)。(需要 -d)

-u

--update

运行服务器之前要更新的模块列表(以逗号分隔)。(需要 -d)

--without-demo

为以逗号分隔的所安装模块禁用演示数据加载;对所有模块使用 all。(需要 -d 和 -i)

--dev

以逗号分隔的功能列表。仅供开发用途。更多信息

登录

服务器启动后(INFO 日志 odoo.modules.loading: Modules loaded. 已打印),在网页浏览器中打开 http://localhost:8069,并使用基础管理员账户登录。

电子邮件输入 admin,密码输入 admin。

欢迎主页

Tip

按 CTRL+C 停止服务器。如有需要,可操作两次。

开发者模式

开发者模式(也称为调试模式)对开发很有用,因为它提供了额外的工具。在接下来的章节中,均假设您已启用开发者模式。