Odoo17架构概述

news2024/11/13 12:51:23

多层架构

Odoo遵循多层架构,这意味着演示,业务逻辑和数据存储是分开的。更具体地说,它使用三层架构。

UI展示层

UI表示层是 HTML5、JavaScript 和 CSS 的组合。

应用程序的最顶层是用户界面。界面的主要功能是将任务和结果转换为用户可以理解的内容。

旧版 JavaScript 框架,Odoo15以后正在积极过渡到使用其内部开发的OWL框架作为其表示层的一部分。

逻辑层

逻辑层专门用 Python 编写,这一层协调“应用程序,处理命令,” 做出逻辑决策和评估,并执行 计算。它还在两个相邻层之间移动和处理数据。

数据层

支持 PostgreSQL 作为 RDBMS。

在这里,信息被存储和从数据库或文件系统中检索出来。然后信息被传回逻辑层进行处理,最终再传回给用户。

模块

开发人员将他们的业务功能分组到Odoo模块中。主要面向用户的模块被标记为应用程序并公开,但大多数模块都不是应用程序。 模块也可以称为插件,

服务器和客户端扩展都打包为模块,这些模块可以选择装入数据库中。模块是针对单个目的的函数和数据的集合。

根据模块的范围,Odoo开发可以在三层架构中的任何一层中完成。

Odoo中的所有内容都以模块开始和结束。

模块的组成

模块可由一种或多种不同类型要素组成:

业务对象

例如发票,被声明为 Python 类。由于 ORM 层,这些类中定义的字段会自动映射到数据库列。

对象视图

定义 UI 显示

数据文件

声明模型数据的 XML 或 CSV 文件:

  • views or reports, 视图或报告,

  • configuration data (modules parametrization, security rules),
    配置数据(模块参数化、安全规则)、

  • 演示数据

  • 其它文件

 Web 控制器

处理来自 Web 浏览器的请求

静态 Web 数据

Web 界面或网站使用的图像、CSS 或 JavaScript 文件

模块结构

每个模块都是模块目录中的一个目录。模块目录是使用该 --addons-path 选项指定的。

An Odoo module is declared by its manifest.
Odoo模块由其目录内的manifest清单文件声明。


当Odoo模块包含业务对象(即Python文件)时,它们被组织为带有 __init__.py 文件的Python包。此文件包含模块中各种 Python 文件的导入指令。


一个简化的模块目录结构示例:

module
├── models
│   ├── *.py
│   └── __init__.py
├── data
│   └── *.xml
├── __init__.py
└── __manifest__.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1934921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能导论-机器学习

机器学习概述 概述 本章主要介绍的机器学习的概念、发展历程、发展趋势、相关应用,着重拓展机监督学习和无监督学习的相关知识。 重点:机器学习的定义和应用; 难点:机器学习算法及分类。 机器学习 - 重要性 MachineLeaning出…

Java 网络编程(TCP编程 和 UDP编程)

1. Java 网络编程(TCP编程 和 UDP编程) 文章目录 1. Java 网络编程(TCP编程 和 UDP编程)2. 网络编程的概念3. IP 地址3.1 IP地址相关的:域名与DNS 4. 端口号(port)5. 通信协议5.1 通信协议相关的…

0718vscode问答

终于来到 qt # Question 多态 # Answer 多态是面向对象编程中的一个重要概念,指的是同一个接口可以有多种不同的实现方式。多态性允许我们使用一个统一的接口来处理不同类型的对象,从而提高代码的灵活性和可扩展性。 在Java中,多态可以通过以…

Gradio从入门到精通(9)---状态组件

文章目录 前言一、Error 组件初始化参数 二、Warning 组件初始化参数 三、Info 组件初始化参数 四、进度条(Progress bars)示例代码总结 前言 Gradio 提供了多种组件和功能,用于构建交互式界面和处理用户输入。以下是一些关键组件的使用和示…

Spring Boot集成syslog快速入门Demo

1.什么syslog? Syslog-ng是由Balabit IT Security Ltd.维护的一套开源的Unix和类Unix系统的日志服务套件。它是一个灵活的、可伸缩的系统日志记录程序。对于服务器日志集中收集,使用它是一个不错的解决方案。syslog-ng (syslog-Next generation) 是sysl…

<数据集>混凝土缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:7353张 标注数量(xml文件个数):7353 标注数量(txt文件个数):7353 标注类别数:6 标注类别名称:[exposed reinforcement, rust stain, Crack, Spalling, Efflorescence…

UniVue@v1.5.0版本发布:里程碑版本

前言 以后使用UniVue都推荐使用1.5.0以后的版本,这个版本之后,更新的速度将会放缓。 希望这个框架能够切实的帮助大家更好的开发游戏,做出一款好游戏!本开源项目采用的开源协议为MIT协议,完全开源化,以后也…

关于黑马商城微服务拆分

1.拆分流程 大差不差分为 创建module-依赖-启动类-配置yml文件-抽取代码-数据库-配置启动项-测试 2.微服务的好处 在测试的时候明显感觉到微服务的好处 不用启动所有的项目 只是单纯一个模块比如支付就可以自己调试 非常便捷而且易开发 抽取的公共模块api也不用启动就能测试 …

Python创建Excel表和读取Excel表的基础操作

下载openpyxl第三方库 winr打开命令行输入cmd 这个如果不行可以试试其他方法,在运行Python代码的软件里也有直接下载的地方,可以上网搜索 创建Excel表 示例代码:最后要记得保存,可以加一句提示语句。 import openpyxl lst[100,…

双非一本嵌入式方向怎么学?

双非一本(非“985”和“211”工程重点建设的本科院校)的学生在学习嵌入式方向时,可以通过以下步骤和策略来系统地学习和提升自己。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学…

基于HAL库的stm32的OLED显示屏显示(IIC)

OLED OLED,即有机发光二极管( Organic Light Emitting Diode )。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器…

网络原理(中)

前言👀~ 上一章我们介绍了传输层协议的报文格式以及协议机制,今天接着介绍其他层的协议 网络层 IP协议 地址管理 路由选择 数据链路层 DNS(域名解析系统) 如果各位对文章的内容感兴趣的话,请点点小赞&#xff0…

高中数学:立体几何-动态图形问题

例题1 解析 求最值,显然,是不等式问题 思路就是,把题目中的条件,翻译成一个函数,然后,利用不等式,求函数的最值。 例题2 解析 先用空间想象力,想象一下这一题的变化过程。 我们&…

Air780E 短信(短消息)测试

一、硬件信息和工具 AIR780E 开发板 usb转ttl工具串口软件文档 二、短消息基本流程 4G模块发短信基本流程如下: 1、设置为TEXT模式2、查询当前的TEXT模式短信参数3、查询字符集4、发短信给测试手机号5、输入具体信息内容发送三、指令测试 打开串口助手,通过usb转…

NLP教程:1 词袋模型和TFIDF模型

文章目录 词袋模型TF-IDF模型词汇表模型 词袋模型 文本特征提取有两个非常重要的模型: 词集模型:单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个。 词袋模型:在词集的基础上如果一个单词…

uniapp form表单校验

公司的一个老项目,又要重新上架,uniapp一套代码,打包生成iOS端发布到App Store,安卓端发布到腾讯应用宝、OPPO、小米、华为、vivo,安卓各大应用市场上架要求不一样,可真麻烦啊 光一个表单校验,…

19-1 LLM之野望 1 – 微软打开1-bit LLM时代

让我们面对现实吧,数字不会说谎。 尽管市场因人工智能而上涨,但其效应显然尚未转化为价值,因为只有不到4%的公司使用人工智能来生产商品和服务。 更糟糕的是,虽然一些大公司确实在拥抱人工智能,但高不可攀…

Kafka Producer之数据重复和乱序问题

文章目录 1. 数据重复2. 数据乱序 为了可靠性,Kafka有消息重试机制,但是同时也带来了2大问题 1. 数据重复 消息发送到broker后,broker记录消息数据到log中,但是由于网络问题,producer没有收到acks,于是再次…

阿里云 申请免费ssl 证书

1控制台--数字证书管理服务 2 创建所需域名证书

Linux网络——套接字与UdpServer

目录 一、socket 编程接口 1.1 sockaddr 结构 1.2 socket 常见API 二、封装 InetAddr 三、网络字节序 四、封装通用 UdpServer 服务端 4.1 整体框架 4.2 类的初始化 4.2.1 socket 4.2.2 bind 4.2.3 创建流式套接字 4.2.4 填充结构体 4.3 服务器的运行 4.3.1 rec…