设置¶
在本章中,您将学习:
如何设置您的本地开发环境。
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¶
登录具有足够访问权限的用户账户。
前往
<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 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
文件夹 |
描述 |
|---|---|
存储模块的目录列表,以逗号分隔。这些目录会被扫描以查找模块。 |
|
安装或更新模块时使用的数据库。 |
|
隐藏不符合过滤条件的数据库。 |
|
在运行服务器之前安装的模块列表,以逗号分隔。(需要 |
|
在运行服务器之前更新的模块列表,以逗号分隔。(需要 |
|
功能列表,以逗号分隔。仅用于开发目的。 更多信息 |
登录¶
服务器启动后(日志中会打印 odoo.modules.loading: 模块已加载 ),在浏览器中打开http://localhost:8069,并使用基础管理员账户登录。
输入 admin 作为电子邮件, admin 作为密码。
小技巧
按 CTRL+C 停止服务器。如有必要,可以按两次。
开发者模式¶
开发者模式(也称为调试模式)对开发非常有用,因为它提供了访问额外工具的功能。在接下来的章节中,假定您已启用开发者模式。