odoo的一些基础概念

news2024/11/17 13:57:46

概述

三层体系结构,表示层是HTML5、JavaScript和CSS的组合,逻辑层专门用Python编写,而数据层只支持PostgreSQL作为RDBMS。
服务器和客户端扩展都打包为模块,可选地加载到数据库中。模块是针对单一目的的函数和数据的集合。Odoo中的一切都以模块开始和结束

开启调试模式

http://localhost:8069/web?debug=1

Odoo模块构成

一个模块必须包含两个文件,manifest.py和 init.py

  • _manifest .py文件必须描述我们的模块,不能为空。它唯一需要的字段是名称,但它通常包含更多的信息。相当于settings文件,其实就是每个模块对应的配置文件
  • init.py文件现在可以保持为空。

下面文件视情况增减

  • models:具体的模型
    • 定义了类与方法,生成了数据库及其所需的字段
    • 所有的数据orm都放在里面
  • security:安全文件夹
    • 管理odoo模型的增删改查权限(读、写、创建、取消链接)
  • views:视图文件夹,用于前端的显示
  • controllers文件夹
    • 里面可以存放一下自己写的路由方法
    • 可以在里面写一些灵活的接口方法或者视图接口
  • demo文件夹
    • 里面可以写一些测试数据,在安装模块的时候回自动写入demo数据
  • views文件夹
    • 将template模板和view的视图都放在里面,以后会详细讲解view视图的用法
    • tree视图、from视图、search视图
      在这里插入图片描述
      完整的结构如下:
      在这里插入图片描述

Odoo的增删改查

1)create函数:(增)

create(vals_list)
如:XXXX.create({‘name’: “New Name”})

2)unlink函数:(删)

unlink()

3)write函数:(改)

create(vals_list)
如:XXXX.create({‘name’: “New Name”})

4)read,search,和search_read函数函数:(查)

查询模型内的全部数据
course_list = self.env[‘student_achieve_manage_sys.course’].search([])

查询指定条件数据
XXX.search([(‘is_company’, ‘=’, True), (‘customer’, ‘=’, True)])

查询前2条数据
search([
(‘name’, ‘=’, attachment_name),
(‘res_model’, ‘=’, self.model),
(‘res_id’, ‘=’, record.id)
], limit=2)
Read函数查询一条数据
search_read函数,用法如下
search_read(domain,fileds) # domain 查询条件, fields 显示的字段name

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

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

相关文章

拉取远程分支到本地修改后上传

在git之前最好保证网络通畅 如果之前本地有项目且有git控制,直接更新就行了 git pull 1、拉取仓库 git clone https://github.com/用户名/仓库名.git 2、对项目进行修改(略) 3、将所有更改添加到暂存区 git add . git add .命令将所有更改添加到暂存区&#…

OpenPCDet系列 | 3.OpenPCDet点云检测框架训练准备流程

文章目录 训练准备流程1. dataloader部分2. network部分3. optimizer部分4. scheduler部分训练准备流程 对于OpenPCDet中模型的训练过程如下所示,在训练前一般需要进行4个部分的准备:数据准备、网络模型准备、以及优化器和学习率调度器。下面对这4个大部分分别介绍。主要就是…

delete方法删除对象数组中元素导致原始数据被修改

记录一个自己在码代码过程中遇到的问题。 要求:删除数组对象中每一组对象中的一个属性。 下面是我原始的写法(当然是错误的)。 const { log } require("console");// 用于测试delete方法,删除对象中的指定元素 const testForDelete () >…

【中创数智人】“周杰伦?数智人周同学!”7×24小时直播不间断,他做到了

迈进Web 3.0,离不开数智人。 品牌代言、公司宣传、产品介绍、直播带货......数智人扮演的角色正在不断增加。无论是替代真人服务、多模态AI助手、还是作为虚拟世界的第二分身,对于数智人而言都已经是触手可及的未来。 5月8日,周杰伦亮相中国…

【JavaEE】线程安全(难点)

目录 前言 1、线程安全的概念 2、线程不安全的原因 3、产生抢占式执行与原子性问题 4、产生多个线程修改同一个变量的问题 5、解决上述三个导致线程不安全的问题 5.1、锁 synchronized关键字 5.1.1、使用synchronized关键字进行加锁 6、由内存可见性引起的线程不安全…

KubeEdge节点分组特性简介

01 边缘应用跨地域部署场景及问题 应用生命周期管理复杂导致运维成本提高 02 边缘节点分组管理 节点分组:将不同地区的边缘节点按照节点组的形式组织 边缘应用:将应用资源整体打包并满足不同节点组之间的差异化部署需求 流量闭环:将服务流量…

Oracle内存管理

文章目录 概念内存管理方式自动内存管理自动共享内存管理手工内存管理 内存管理的转换方式相关内存参数相关数据字典 概念 为满足数据库的需求,通过内存管理来维护 Oracle 实例内存结构的最优大小。Oracle数 据库基于与内存相关的初始化参数设置来管理内存。 内存管…

【LeetCode】654. 最大二叉树

1.问题 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最…

美颜SDK的隐私保护与安全性分析

随着智能手机和移动应用的普及,美颜SDK已经成为了很多应用的标配。美颜SDK的使用可以让用户在拍照或者视频聊天时,实现自拍美颜、滤镜、磨皮、瘦脸等效果。但是,在享受美颜SDK带来的便利的同时,我们也需要关注美颜SDK的隐私保护与…

跟着排序学时间复杂度

带着排序学时间/空间复杂度 排序和时间复杂度 带着排序学时间/空间复杂度冒泡排序选择排序选择排序法2原理: 插入排序希尔排序(缩小增量排序)堆排序快速排序归并排序不基于比较的排序计数排序 桶排序稳定性 时间复杂度是打开数据结构大门的第…

从0搭建Vue3组件库(十二):引入现代前端测试框架 Vitest

Vitest 是个高性能的前端单元测试框架,它的用法其实和 Jest 差不多,但是它的性能要优于 Jest 不少,还提供了很好的 ESM 支持,同时对于使用 vite 作为构建工具的项目来说有一个好处就是可以公用同一个配置文件vite.config.js。因此本项目将会使用 Vitest 作为测试框架。 安装 …

FS2956A 8V~120V降压5V2A4.2V3A恒压芯片

FS2956A 内置MOS 100V开关降压型DC-DC转换器,FS2956A 8-100V用于电动车 滑板车 液晶仪表 5V-USB充电IC方案2A 概述: FS2956A 是一款支持宽电压输入的开关降压型DC-DC,芯片内置100V/5A功率MOS,最高输入电压90V。FS2956A 具有低待…

初识滴滴交易策略之一:交易市场

初识系列前言 滴滴作为一家共享出行公司,利用信息技术构建了实时的、智能的在线交易市场,在这个庞大运转的市场之中,滴滴秉承着用户价值至上的宗旨,不断通过技术提升来实现更高效的运转效率和更贴心的用户体验。 为了使得大家能够…

蚂蚁实时低代码研发和流批一体的应用实践

摘要:本文整理自蚂蚁实时数仓架构师马年圣,在 Flink Forward Asia 2022 流批一体专场的分享。本篇内容主要分为四个部分: 1. 实时应用场景与研发体系 2. 低代码研发 3. 流批一体 4. 规划展望 Tips:点击「阅读原文」查看原文视频&a…

KingbaseES V8R6备份恢复系列之 -- system-Id不匹配备份故障

​ KingbaseES V8R6备份恢复案例之---system-Id不匹配备份故障 案例说明: 在KingbaseES V8R6执行备份时,在sys_log日志中出现system-id不一致的故障并伴随有归档失败,故障如下图所示: 适用版本: KingbaseES V8R6 一、问…

React 学习笔记

文章目录 React 简介React 特点React 学习前提React 第一个实例 React 简介 React 是一个用于构建用户界面的 JAVASCRIPT 库。 React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。 React 起源于 Facebook 的内部项目,用…

Flink窗口

目录 窗口 Flink “存储桶” 窗口分类 按照驱动类型分类 按照窗口分配数据的规则分类 滚动窗口 滑动窗口 会话窗口 全局窗口 窗口的生命周期 窗口 窗口:将无限数据切割成有限的“数据块”进行处理,以便更高效地处理无界流 在处理无界数据流时…

3.1 掌握绘图基础语法与常用参数

3.1 掌握绘图基础语法与常用参数 3.1.1 掌握pyplot基础语法1.创建画布与创建子图2.添加画布内容3.保存与展示图形 3.1.2 设置pyplot的动态rc参数线条常用的rc参数 Matplotlib库介绍 Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表…

实验二十、压控电压源二阶 LPF 幅频特性的研究

一、题目 研究压控电压源二阶低通滤波电路品质因数 Q Q Q 对频率特性的影响。 二、仿真电路 电路如图1所示。集成运放采用 LM324AJ,其电源电压为 15V。 图 1 压控电压源二阶低通滤波电路幅频特性的测试 图1\,\,压控电压源二阶低通滤波电路幅频特性的测试 图1压控…

记录一次重装系统配置工作环境

128G固态换大硬盘,偷懒不想重装系统,利用diskgenius迁移系统,热迁移和PE都没能成功迁移,还不小心删掉了机械盘的所有分区。利用diskgenius搜索分区,恢复文件,勉强把一些数据文件保存下来了。但是软件又得重…