设置

在本章中,您将学习:

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

  • Odoo 数据库结构概要。

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

  • 启动并运行 Odoo 实例。

安装

install Odoo 有多种方法,具体取决于预期的用例。本文档假设您使用 source install (从源代码运行 Odoo),它最适合 Odoo 设计人员和开发人员。

数据库

结构

每个 Odoo 应用程序的工作原理都类似;它们是用相同的逻辑构建的。模型包含链接到其他模型的字段和关系字段。每个模型都有代表其所有字段的视图,以及后端和前端视图。

型号

Odoo 的基础是模型。模型使用字段来记录数据。记录存储在数据库中:因此它们链接到模型。在 Odoo 中,您可以通过启用 developer mode 然后转到 Settings ‣ Technical ‣ Database Structure: Models 来在后端找到不同的模型。

型号页面

领域

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

其他资料

字段和小组件

经典领域
  • 日期

  • 查尔

  • 选择

  • ……

关系字段

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

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

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

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

意见

视图定义记录应如何向最终用户显示。它们是在 XML 中指定的,这意味着它们可以独立于它们所代表的模型进行编辑。它们非常灵活,并且允许对其控制的屏幕进行深度定制。

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

  • 前端视图:QWeb

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

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

基础、继承、重复
  • 基本视图: Odoo 原生实现的视图。它直接源自他们的模型。永远不应该更改基本视图,因为它允许更新 Odoo 数据库而不覆盖客户端的修改。

修改始终发生在复制视图或继承视图中,但存在一些差异:

  • **继承的视图**始终具有 inherit_id 并根据其继承的基本视图的源代码应用修改。

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

导入现有数据库

注解

如果不需要导入现有数据库,可以直接进入:doc:`theming`章节。

倾倒

奥多软件即服务
  1. 登录具有足够访问权限的用户帐户。

  2. 转到`<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 以获取转储。

    数据库备份

移动文件存储

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

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

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

注解

/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-bin 来启动 Odoo。它位于 Odoo Community 目录的根目录下。

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

CLI 提供多种与 Odoo 相关的功能。您可以使用它来 run the server、构建 Odoo 主题、填充数据库或计算代码行数。

外壳脚本

run the server 的典型方法是将所有命令行参数添加到 .sh 脚本中。

Example

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

文件夹

描述

--addons-path

存储模块的目录的逗号分隔列表。扫描这些目录中的模块。

-d

--database

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

--db-filter

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

-i

--init

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

-u

--update

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

--reinit

在启动服务器之前要重新初始化的以逗号分隔的模块列表。 (需要 -d)

--dev

以逗号分隔的功能列表。仅用于开发目的。 More info

--without-demo

阻止服务器加载演示数据。

登入

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

键入 admin 作为电子邮件地址,并键入 admin 作为密码。

欢迎主页

小技巧

按 CTRL+C 停止服务器。如果需要的话,做两次。

开发者模式

开发人员模式也称为调试模式,对于开发很有用,因为它可以访问其他工具。在接下来的章节中,假设您已启用开发人员模式。