第三章:新应用程序

本章的目的是为创建一个全新的Odoo模块打下基础。我们将从零开始,最少的内容使我们的模块被Odoo识别。在接下来的章节中,我们将逐步添加功能,构建一个现实的业务案例。

房地产广告模块

我们的新模块将涵盖一个非常特定的业务领域,因此不包括在标准模块集中:房地产。值得注意的是,在开发新模块之前,最好验证Odoo是否已经提供了回答特定业务案例的方法。

这是包含一些广告的主列表视图的概述:

列表视图 01

表单视图的顶部区域总结了房产的重要信息,例如名称、房产类型、邮政编码等。第一个选项卡包含描述房产的信息:卧室、起居室面积、车库、花园等。

表单视图 01

第二个选项卡列出了该房产的报价。我们可以在这里看到潜在买家可以在预期售价之上或之下提出报价。卖方有权接受报价。

表单视图 02

这里有一个快速视频展示模块的工作流程。

希望这个视频很快就会录制出来 :-)

准备插件目录

参考: 有关此主题的文档可以在 清单 中找到。

注解

目标:本节的目标是让Odoo识别我们的新模块,目前它只是一个空壳。它将在应用程序中列出:

新模块出现在列表中

The first step of module creation is to create its directory. In the tutorials directory, add a new directory estate.

一个模块至少包含2个文件: __manifest__.py 文件和一个 __init__.py 文件。 __init__.py 文件现在可以保持为空,我们将在下一章节回到它。另一方面, __manifest__.py 文件必须描述我们的模块,不能保持为空。它唯一必需的字段是 name ,但通常包含更多信息。

请看一下 CRM 文件 作为一个例子。除了提供模块的描述(namecategorysummarywebsite…),它还列出了它的依赖项(depends)。依赖项意味着Odoo框架将确保在安装我们的模块之前安装这些模块。此外,如果其中一个依赖项被卸载,那么我们的模块和**依赖于它的任何其他模块也将被卸载**。想想你最喜欢的Linux发行版软件包管理器(aptdnfpacman…):Odoo的工作方式与之相同。

Exercise

创建所需的插件文件。

创建以下文件夹和文件:

  • /home/$USER/src/tutorials/estate/__init__.py

  • /home/$USER/src/tutorials/estate/__manifest__.py

The __manifest__.py file should only define the name and the dependencies of our modules. The only necessary framework module for now is base.

重启Odoo服务器并进入应用程序。点击“更新应用程序列表”,搜索“estate”然后… 哒哒哒,你的模块出现了!它没有出现吗?也许尝试移除默认的“应用程序”过滤器 ;-)

警告

记得在前一章节中解释的时候启用 开发者模式。否则你将看不到 更新应用列表 按钮。

Exercise

将您的模块变成一个’应用程序’。

__manifest__.py 中添加适当的键,以便在“应用程序”过滤器打开时显示该模块。

你甚至可以安装这个模块!但是显然它是一个空壳,所以不会出现任何菜单。

一切都好吗?如果是的,那么让我们 创建我们的第一个模型!