Odoo 提供了一个快速应用开发框架,非常适合创建商业应用。这类应用通常用于保留业务记录,增删改查操作。Odoo 不仅简化了这类应用的创建,还提供了看板、日历、图表等视图的丰富组件,用于创建好看的用户界面。
基本概念
理解 Odoo 结构中的各个层以及我们要使用的各类型组件的作用大有裨益。下面我们先总览下Odoo 应用结构,然后把应用开发解构为对应组件。然后 Odoo 发布有两个版本的定期更新:社区版和企业版,我们应了解两者之前的差别以及大版本发布对开发和部署所带来的变化。首先来看看 Odoo 的应用结构:
Odoo 结构
Odoo 遵循多层结构,即前述的数据层、逻辑层和展示层:
星辉信息科技Odoo开发已经很多年了,对Odoo开发有丰富的经验,可以大家一起沟通交流
数据层是最底端一层,负责数据持久化存储,Odoo 借助 PostgreSQL 来实现。Odoo 出于设计考虑仅支持 PostgreSQL 数据库,而不支持 MySQL 这一类数据库(有第三方应用可集成MySQL)。文件附件、图片一类的二进制文件通常存储在一个称为 filestore(目录) 的文件系统中。
数据层是最底端一层,负责数据持久化存储,Odoo 借助 PostgreSQL 来实现。Odoo 出于设计考虑仅支持 PostgreSQL 数据库,而不支持 MySQL 这一类数据库(有第三方应用可集成MySQL)。文件附件、图片一类的二进制文件通常存储在一个称为 filestore(目录) 的文件系统中。
逻辑层负责与数据层的所有交互,并由 Odoo 服务完成。通常,底端数据库不应通过这一层获
取,只有这样才能保证权限控制和数据一致性。在 Odoo 的核心代码中包含供这一接口使用的ORM (对象关系映射 Object-relational Mapping)引擎。ORM 提供插件模块与数据交互的API。
比如像客户和供应商这样的 partner 数据实体,是通过模型的 ORM 体现的。这一模型是一个Python 对象,支持多种交互方法:create()方法用于创建新的伙伴记录,read()方法用于查询已有记录和对应数据。通用方法可在特定模型中实现指定业务逻辑,如 create()方法可以设置默认值或强化验证规则,read()方法可支持一些自动计算字段或根据执行操作的用户来实施权限控制。
展示层用于展示数据并与用户交互,通过客户端实现用户体验。客户端与 ORM API 交互来读、写、验证或执行其它操作,通过 RPC 调用 ORM API 方法。这些操作发往 Odoo 服务器端操作,然后结果发送回客户端做进一步处理。对于展示层,Odoo 自带全面功能的 web 客户端。该客户端支持所有业务应用所需功能:登录会话、导航菜单、数据列表、表单等等。全局展示不会像前端工程师所认为的那样可深度定制,但易于创建功能性和连贯的用户体验。配套的展示层包含网站框架,可像其它 CMS 框架一样灵活地创建网页,当然需要额外的操作和 web 相关知识。网站框架支持通过 web 控制器实现代码来展示特定逻辑,而与模型内在逻辑进行区隔。前端工程师不会有什么操作上的障碍。Odoo 服务端 API 非常开放,包含所有服务端功能。Web 客户端使用的 API 与其它应用的API 并无不同。因此,其它的客户端实现均可做到,并且可以在任何平台上使用任意编程语言进行实现。可以创建桌面和移动端应用来提供不同用户界面,这充分利用了 Odoo 为业务逻辑和数据持久性而生的数据和逻辑层。
更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/