Odoo16 教程含源码

  • Odoo16 开发教程
    • 版本变化
    • 模块开发步骤
    • 源码

Odoo16 开发教程

Odoo 号称全球第一的开源ERP平台,除了提供一站式的企业应用开发解决方案,作为一个网站设计器或低代码平台也是挺强大的。

最近工作调整,安装Odoo16试用,了解一下新版变化,把官方的教程(房地产模块)自己实现了一下(教程比以前详细了挺多),简单记录一下,源码在文末。

体验地址:http://odooer.cn:8070/

版本变化

个人感觉比较大的变化:Form视图不需要切换到编辑模式,自动检测变化,自动保存 + 手动保存 + 手动撤销
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a5742a30d94d6881c853d8cfc103bd.png)

模块开发步骤

  1. 添加模块元数据 __manifest__.py,自动生成:odoo-bin scaffold
  2. ORM:以 pyhon 包的方式添加模型model,之后可创建记录record,self 是 record 集合,模块(module)也是 python 包。
  3. 通过 xml 设置模型权限。Odoo是一个高度数据驱动的系统。仅当安装或更新模块时从csv或xml文件加载数据。访问权限被定义为模型 ir.model.access 的记录。
  4. 菜单及动作:通过 xml 定义菜单弹窗动作,是 ir.actions.act_window 模型的记录,指定要展示的模型及视图。复杂结构的数据可以使用 xml 表示。
  5. 菜单及动作:定义菜单、模块图标,菜单是模型 ir.ui.menu 的记录,可定义多层级菜单。在xml中 是一种菜单记录的简写方式,支持嵌套。
  6. 字段常用属性设置(必填、默认值、只读、不可复制),
  7. 添加系统保留字段(用于归档的 active )
  8. 添加自定义列表、表单及搜索视图。
  9. 模型间关系:多对一(m2o)关联表字段 type_id
  10. 模型间关系:多对多 (m2m)关联表 tag_ids
  11. 模型间关系:添加反向关联字段 报价单,one2many
  12. 添加计算字段 compute onchange,根据其他字段值自动计算的字段
  13. 添加按钮及动作
  14. 添加字段校验,通过 sql 或 python 方法校验
  15. 根据房产类型分组查看房屋列表
  16. 设置排序、字段 widget
  17. 动态设置按钮及字段,隐藏、只读
  18. 设置列表行颜色
  19. 设置列表默认过滤条件
  20. 表单添加状态按钮,展示统计信息、点击调整展示关联数据
  21. 继承复用扩展:继承覆写父类方法
  22. 继承复用扩展:扩展 res.users 模型字段,并修改视图
  23. 继承复用扩展:通过 Link Module 方式与内置模块交互,需安装 sale 模块
  24. 看板视图及分组展示
  25. 添加用户组及记录规则,按角色控制权限
  26. 绕过用户权限的方法:
    1. sudo(),将在“sudo模式”中创建一个新的记录集,这将忽略所有的访问权限和记录规则。
    2. SQL查询,将绕过访问权限和记录规则,绕过ORM本身的副作用。
  27. 支持多公司,仅能查看自己公司的数据
  28. 通过 xml 添加演示数据
  29. 报表打印
  30. 模型添加消息通讯
  31. 性能最佳实践
    • 不要在遍历记录集时调用运行SQL查询的方法,因为它会对记录集的每个记录都这样做。
    • 将search_count替换为read_group,以便对整批记录执行一个SQL查询。
    • 不要循环创建记录,先计算记录值数组,再调用create方法。有助于框架优化字段计算。
    • 通过正确准备输入数据来降低算法的复杂性。
    • 最好使用集合操作,如将列表转换为集合。
    • 添加字段数据库索引可以帮助加快搜索操作。

源码

https://github.com/aaron-zzh/odoo-demo

Odoo16 教程含源码相关推荐

  1. SwiftUI 音乐和网络大全之网络音乐播放App支持iTunes搜索与播放(教程含源码)

    实战需求 SwiftUI 音乐和网络大全之网络音乐播放App支持iTunes搜索与播放(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 import SwiftUIstru ...

  2. SwiftUI 精品项目之完整MOOC幕课iOS项目 含服务端 轮播欢迎页面(教程含源码)

    实战需求 SwiftUI 精品项目之完整MOOC幕课iOS项目 (教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 自动轮播 个性化注册界面 个人信息界面 带f ...

  3. macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码)

    实战需求 macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 支持剪切音频 支持复制音频 支持删除音频 支持un ...

  4. 抖音小程序基础之 目前提供哪些API(教程含源码)

    抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...

  5. SwiftUI iOS 精品项目之每天收集的故事卡片(教程含源码)

    实战需求 SwiftUI iOS 精品项目之每天收集的故事卡片(教程含源码) 每天收集的故事的卡片 本文价值与收获 看完本文后,您将能够作出下面的界面 核心功能 1.每天总共3个问题!选择一个您喜欢的 ...

  6. SwiftUI 界面大全之文本折叠书签动画组件3D(中文教程含源码)

    实战需求 SwiftUI 界面大全之文本折叠书签动画组件3D(中文教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 效果本身其实很简单,包括三件事: 图像的旋转 图像的垂直移 ...

  7. SwiftUI 绘图shape大全之 Teardrop水滴形状 (中文教程含源码)

    实战需求 SwiftUI 绘图shape大全之 Teardrop水滴形状 (中文教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 ​ 什么是Paths Paths主要用于绘制 ...

  8. Flutter 组件之 Flutter高级自定义TabBar(教程含源码)

    实战需求 Flutter 组件之 Flutter高级自定义TabBar(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 import 'package:flutter/ma ...

  9. SwiftUI 动画大全之 五彩纸屑特效含三角形、五星、钻石与自定义图像 (教程含源码)

    实战需求 SwiftUI 动画大全之 五彩纸屑特效含三角形.五星.钻石与自定义图像 (教程含源码) 下雨了,五彩纸屑!SAConfettiView是向您的应用程序添加有趣.多彩的五彩纸屑并让用户感到有 ...

最新文章

  1. docker 安装nginx_Docker18安装Nginx和Apache实验
  2. 参考文献顺序不对_Endnote插入参考文献的保姆级教程
  3. iOS 删除、重新排序xcdatamodel
  4. 学习JavaScript的24条实用建议
  5. mysql date类型计算_MySQL date类型
  6. How Tomcat works — 一、怎样阅读源码
  7. 前端学习(2608):vuex的介绍
  8. oracle 01304,关于ORA-01034和ORA-27101的解决方法
  9. MacOS Server安装与应用
  10. block compressed sparse row (BSR) matrix format
  11. 05月08日 学习列表
  12. (三)进程各种id:pid、pgid、sid、全局pid、局部pid
  13. 【干货】常用的14个获取数据的网站。
  14. lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
  15. PowerBI-关系函数-RELATED RELATEDTABLE
  16. iphone和iPad开发的区别
  17. Adaptive icon 一 :理解 Android 的「自适应图标」
  18. 自定义Dialog去除白色背景 + Dialog其他用法
  19. vue3 render函数的写法
  20. java实现24点经典游戏

热门文章

  1. 填谷式无源pfc电路_基于无源填谷电路的PFC工作原理
  2. clamav Java_杀毒软件包clamav部署-CentOS6.5
  3. 经典逻辑题-泊松数学趣题
  4. npx:调用项目内部安装的模块
  5. Excel之求和家族
  6. Spring Security + SpringBoot + Mybatis-plus实现前后端分离的权限管理系统
  7. 【数论】快速幂(欧拉幂)
  8. python语言关键字有哪些_Python之33个关键字是哪些
  9. Hibernate作业(一)
  10. 学生个人博客网页设计作品 学生个人网页模板 个人网页制作 HTML学生个人网站作业设计