设置

在本章中,您将学习:

  • 如何设置您的本地开发环境。

  • Odoo数据库结构的概述。

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

  • 如何启动并运行Odoo实例。

安装

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

数据库

结构

每个Odoo应用程序的工作方式类似;它们基于相同的逻辑构建。模型包含字段和关系字段,这些字段与其他模型相链接。每个模型都有视图来表示其所有字段,包括后端视图和前端视图。

模型

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

模型页面

字段

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

经典字段
  • 日期

  • 字符

  • 选择

关系字段

关系字段调用另一个模型中的字段。它们允许您将模型相互链接并轻松地进行交互。换句话说,当您使用关系字段时,您会将一条记录与另一条记录(位于另一个模型上)链接起来,从而使您可以检索该链接记录上的字段内容。

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

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

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

视图

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

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

  • 前端视图 :QWeb

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

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

基础视图 vs. 继承视图 vs. 复制视图
  • 基础视图: 由 Odoo 原生实现的视图。它直接派生自其模型。基础视图永远不应更改,因为它允许更新 Odoo 数据库而不会覆盖客户的修改。

修改总是在复制视图或继承视图中进行,两者有一些区别:

  • 继承视图 总是有一个 inherit_id ,并根据其继承的基础视图的源代码应用修改。

  • 复制视图 是从另一个视图复制而来的。大多数情况下,这种视图是在最终用户通过网站构建器应用修改时由 Odoo 创建的。这种机制在模块更新时防止数据丢失,因为只有源视图会被更新,而不是复制的视图。如果存在复制视图,原始视图和复制视图都会在列表中可见,但只有复制视图具有 external_id (设置 external_id 意味着该视图是由模块的源代码创建的)。

导入现有数据库

注解

如果不需要导入现有数据库,您可以直接跳到 主题设计 章节。

导出

Odoo SaaS
  1. 登录具有足够访问权限的用户账户。

  2. 前往 <database_url>/saas_worker/dump

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

  2. 选择要备份的分支。

  3. 选择 备份 选项卡。

  4. 点击 创建备份 按钮。

  5. 当过程完成后,会出现通知。打开通知并点击 转到备份 按钮。

  6. 点击 下载 图标。在 用途 下选择 测试 ,在 文件存储 下选择 包含文件存储

    下载备份
  7. 当导出文件准备好下载时,您会收到通知。打开通知并点击 下载 以获取您的导出文件。

    数据库备份

移动文件存储

复制文件存储文件夹中的所有文件夹,并将其粘贴到您计算机上的以下位置:

  • macOS: /Users/<用户>/Library/Application Support/Odoo/filestore/<数据库名称>

  • Linux: /home/<用户>/.local/share/Odoo/filestore/<数据库名称>

注解

/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 totp_secret='' where id=2;

入门

运行Odoo

所有依赖项设置完成后,可以通过运行 odoo-bin (服务器的命令行接口)来启动Odoo。它位于Odoo社区版目录的根目录下。

要配置服务器,您可以指定命令行参数或配置文件。第一种方法如下所示。

命令行界面(CLI) 提供了与Odoo相关的多种功能。您可以使用它来 运行服务器 、搭建Odoo主题、填充数据库或统计代码行数。

Shell脚本

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

Example

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

文件夹

描述

--addons-path

存储模块的目录列表,以逗号分隔。这些目录会被扫描以查找模块。

-d

--database

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

--db-filter

隐藏不符合过滤条件的数据库。

-i

--init

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

-u

--update

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

--dev

功能列表,以逗号分隔。仅用于开发目的。 更多信息

登录

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

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

欢迎首页

小技巧

CTRL+C 停止服务器。如有必要,可以按两次。

开发者模式

开发者模式(也称为调试模式)对开发非常有用,因为它提供了访问额外工具的功能。在接下来的章节中,假定您已启用开发者模式。