Odoo16 教程含源码

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

你可能感兴趣的:(Odoo,低代码)