设置¶
在本章中,您将学习:
如何设置您的本地开发环境。
Odoo数据库结构的概述。
如何在本地环境中导出和导入Odoo数据库。
如何启动并运行Odoo实例。
安装¶
根据预期用途,有多种方式可以 安装Odoo 。本文档假设您使用的是 源码安装 (从源代码运行Odoo),这是最适合Odoo设计师和开发人员的方式。
数据库¶
结构¶
每个Odoo应用程序的工作方式类似;它们基于相同的逻辑构建。模型包含字段和关系字段,这些字段与其他模型相链接。每个模型都有视图来表示其所有字段,包括后端视图和前端视图。
模型¶
Odoo的基础是模型。模型使用字段来记录数据。记录存储在数据库中,因此它们与模型相关联。在Odoo中,您可以通过启用 开发者模式 ,然后转到 来查找不同的模型。

字段¶
在模型中,我们将集中管理字段(我们需要在代码中定位的字段名称)。
参见
经典字段¶
日期
字符
选择
…
关系字段¶
关系字段调用另一个模型中的字段。它们允许您将模型相互链接并轻松地进行交互。换句话说,当您使用关系字段时,您会将一条记录与另一条记录(位于另一个模型上)链接起来,从而使您可以检索该链接记录上的字段内容。
Many2one 字段通过从另一个模型的记录列表中选择一条记录来填充(从 多条 记录中,您选择 一条 )。例如,报价单上的 客户 字段会让您从 联系人 模型中的多个客户列表中选择一个客户。
One2many 字段是对现有many2one关系的反向搜索。例如,您可以在联系人上列出他们所有的现有报价单(从 一条 记录中,显示 多条 记录)。
Many2many 字段通过从另一个模型的记录列表中选择一条或多条记录来填充。例如,您可以在一个产品上添加多个标签,并且多个产品可以使用相同的标签(从 多条 记录中,您可以选择 多条 )。
视图¶
视图定义了记录应该如何向最终用户显示。它们以XML形式指定,这意味着它们可以独立于所代表的模型进行编辑。它们非常灵活,允许对控制的界面进行深度定制。
后端与前端¶
后端视图 :看板、列表、表单等。
前端视图 :QWeb
静态与动态¶
静态页面 具有稳定的内容,例如主页。您可以定义其URL并设置一些属性,例如是否发布、是否索引等。
动态页面 是动态生成的,例如产品页面。它们的URL是动态的,默认情况下所有人都可以访问(这可以通过配置访问权限进行更改)。
标准与继承¶
标准视图 是由Odoo实现的基础视图。它们直接从模型派生而来。您不应更改它们,因为它们允许在不覆盖客户端修改的情况下更新Odoo数据库。
继承视图 是重复的视图。修改总是在继承视图中进行。如果有重复的视图,数据库中将存在两个同名的视图,但重复的视图不会有像标准视图那样的ID。
导入现有数据库¶
注解
如果不需要导入现有数据库,您可以直接跳到 主题设计 章节。
导出¶
Odoo SaaS¶
前往`<database_url>/saas_worker/dump`。
Odoo.sh¶
连接到Odoo.sh。
选择要备份的分支。
选择 备份 选项卡。
点击 创建备份 按钮。
当过程完成后,会出现通知。打开通知并点击 转到备份 按钮。
点击 下载 图标。在 用途 下选择 测试 ,在 文件存储 下选择 包含文件存储 。
当导出文件准备好下载时,您会收到通知。打开通知并点击 下载 以获取您的导出文件。
移动文件存储¶
复制文件存储文件夹中的所有文件夹,并将其粘贴到您计算机上的以下位置:
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 top_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> --without-demo=all -i website --dev=xml
文件夹 |
描述 |
---|---|
存储模块的目录列表,以逗号分隔。这些目录会被扫描以查找模块。 |
|
安装或更新模块时使用的数据库。 |
|
隐藏不符合过滤条件的数据库。 |
|
在运行服务器之前安装的模块列表,以逗号分隔。(需要 |
|
在运行服务器之前更新的模块列表,以逗号分隔。(需要 |
|
禁用已安装模块的演示数据加载,模块以逗号分隔;使用 |
|
功能列表,以逗号分隔。仅用于开发目的。 更多信息 |
登录¶
服务器启动后(日志中会打印 odoo.modules.loading: 模块已加载
),在浏览器中打开http://localhost:8069,并使用基础管理员账户登录。
输入 admin 作为电子邮件, admin 作为密码。

小技巧
按 CTRL+C 停止服务器。如有必要,可以按两次。
开发者模式¶
开发者模式(也称为调试模式)对开发非常有用,因为它提供了访问额外工具的功能。在接下来的章节中,假定您已启用开发者模式。