Odoo16 教程含源码
Odoo16 教程含源码
- Odoo16 开发教程
- 版本变化
- 模块开发步骤
- 源码
Odoo16 开发教程
Odoo 号称全球第一的开源ERP平台,除了提供一站式的企业应用开发解决方案,作为一个网站设计器或低代码平台也是挺强大的。
最近工作调整,安装Odoo16试用,了解一下新版变化,把官方的教程(房地产模块)自己实现了一下(教程比以前详细了挺多),简单记录一下,源码在文末。
体验地址:http://odooer.cn:8070/
版本变化
个人感觉比较大的变化:Form视图不需要切换到编辑模式,自动检测变化,自动保存 + 手动保存 + 手动撤销
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a5742a30d94d6881c853d8cfc103bd.png)
模块开发步骤
- 添加模块元数据
__manifest__.py
,自动生成:odoo-bin scaffold - ORM:以 pyhon 包的方式添加模型model,之后可创建记录record,self 是 record 集合,模块(module)也是 python 包。
- 通过 xml 设置模型权限。Odoo是一个高度数据驱动的系统。仅当安装或更新模块时从csv或xml文件加载数据。访问权限被定义为模型 ir.model.access 的记录。
- 菜单及动作:通过 xml 定义菜单弹窗动作,是 ir.actions.act_window 模型的记录,指定要展示的模型及视图。复杂结构的数据可以使用 xml 表示。
- 菜单及动作:定义菜单、模块图标,菜单是模型 ir.ui.menu 的记录,可定义多层级菜单。在xml中 是一种菜单记录的简写方式,支持嵌套。
- 字段常用属性设置(必填、默认值、只读、不可复制),
- 添加系统保留字段(用于归档的 active )
- 添加自定义列表、表单及搜索视图。
- 模型间关系:多对一(m2o)关联表字段 type_id
- 模型间关系:多对多 (m2m)关联表 tag_ids
- 模型间关系:添加反向关联字段 报价单,one2many
- 添加计算字段 compute onchange,根据其他字段值自动计算的字段
- 添加按钮及动作
- 添加字段校验,通过 sql 或 python 方法校验
- 根据房产类型分组查看房屋列表
- 设置排序、字段 widget
- 动态设置按钮及字段,隐藏、只读
- 设置列表行颜色
- 设置列表默认过滤条件
- 表单添加状态按钮,展示统计信息、点击调整展示关联数据
- 继承复用扩展:继承覆写父类方法
- 继承复用扩展:扩展 res.users 模型字段,并修改视图
- 继承复用扩展:通过 Link Module 方式与内置模块交互,需安装 sale 模块
- 看板视图及分组展示
- 添加用户组及记录规则,按角色控制权限
- 绕过用户权限的方法:
- sudo(),将在“sudo模式”中创建一个新的记录集,这将忽略所有的访问权限和记录规则。
- SQL查询,将绕过访问权限和记录规则,绕过ORM本身的副作用。
- 支持多公司,仅能查看自己公司的数据
- 通过 xml 添加演示数据
- 报表打印
- 模型添加消息通讯
- 性能最佳实践
- 不要在遍历记录集时调用运行SQL查询的方法,因为它会对记录集的每个记录都这样做。
- 将search_count替换为read_group,以便对整批记录执行一个SQL查询。
- 不要循环创建记录,先计算记录值数组,再调用create方法。有助于框架优化字段计算。
- 通过正确准备输入数据来降低算法的复杂性。
- 最好使用集合操作,如将列表转换为集合。
- 添加字段数据库索引可以帮助加快搜索操作。
源码
https://github.com/aaron-zzh/odoo-demo
Odoo16 教程含源码相关推荐
- SwiftUI 音乐和网络大全之网络音乐播放App支持iTunes搜索与播放(教程含源码)
实战需求 SwiftUI 音乐和网络大全之网络音乐播放App支持iTunes搜索与播放(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 import SwiftUIstru ...
- SwiftUI 精品项目之完整MOOC幕课iOS项目 含服务端 轮播欢迎页面(教程含源码)
实战需求 SwiftUI 精品项目之完整MOOC幕课iOS项目 (教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 自动轮播 个性化注册界面 个人信息界面 带f ...
- macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码)
实战需求 macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 支持剪切音频 支持复制音频 支持删除音频 支持un ...
- 抖音小程序基础之 目前提供哪些API(教程含源码)
抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...
- SwiftUI iOS 精品项目之每天收集的故事卡片(教程含源码)
实战需求 SwiftUI iOS 精品项目之每天收集的故事卡片(教程含源码) 每天收集的故事的卡片 本文价值与收获 看完本文后,您将能够作出下面的界面 核心功能 1.每天总共3个问题!选择一个您喜欢的 ...
- SwiftUI 界面大全之文本折叠书签动画组件3D(中文教程含源码)
实战需求 SwiftUI 界面大全之文本折叠书签动画组件3D(中文教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 效果本身其实很简单,包括三件事: 图像的旋转 图像的垂直移 ...
- SwiftUI 绘图shape大全之 Teardrop水滴形状 (中文教程含源码)
实战需求 SwiftUI 绘图shape大全之 Teardrop水滴形状 (中文教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 什么是Paths Paths主要用于绘制 ...
- Flutter 组件之 Flutter高级自定义TabBar(教程含源码)
实战需求 Flutter 组件之 Flutter高级自定义TabBar(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 import 'package:flutter/ma ...
- SwiftUI 动画大全之 五彩纸屑特效含三角形、五星、钻石与自定义图像 (教程含源码)
实战需求 SwiftUI 动画大全之 五彩纸屑特效含三角形.五星.钻石与自定义图像 (教程含源码) 下雨了,五彩纸屑!SAConfettiView是向您的应用程序添加有趣.多彩的五彩纸屑并让用户感到有 ...
最新文章
- docker 安装nginx_Docker18安装Nginx和Apache实验
- 参考文献顺序不对_Endnote插入参考文献的保姆级教程
- iOS 删除、重新排序xcdatamodel
- 学习JavaScript的24条实用建议
- mysql date类型计算_MySQL date类型
- How Tomcat works — 一、怎样阅读源码
- 前端学习(2608):vuex的介绍
- oracle 01304,关于ORA-01034和ORA-27101的解决方法
- MacOS Server安装与应用
- block compressed sparse row (BSR) matrix format
- 05月08日 学习列表
- (三)进程各种id:pid、pgid、sid、全局pid、局部pid
- 【干货】常用的14个获取数据的网站。
- lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
- PowerBI-关系函数-RELATED RELATEDTABLE
- iphone和iPad开发的区别
- Adaptive icon 一 :理解 Android 的「自适应图标」
- 自定义Dialog去除白色背景 + Dialog其他用法
- vue3 render函数的写法
- java实现24点经典游戏
热门文章
- 填谷式无源pfc电路_基于无源填谷电路的PFC工作原理
- clamav Java_杀毒软件包clamav部署-CentOS6.5
- 经典逻辑题-泊松数学趣题
- npx:调用项目内部安装的模块
- Excel之求和家族
- Spring Security + SpringBoot + Mybatis-plus实现前后端分离的权限管理系统
- 【数论】快速幂(欧拉幂)
- python语言关键字有哪些_Python之33个关键字是哪些
- Hibernate作业(一)
- 学生个人博客网页设计作品 学生个人网页模板 个人网页制作 HTML学生个人网站作业设计