# Odoo16 开发教程
Odoo 号称全球第一的开源ERP平台,除了提供一站式的企业应用开发解决方案,作为一个网站设计器或低代码平台也是挺强大的。
最近工作调整,安装Odoo16试用,了解一下新版变化,把官方的教程(房地产模块)自己实现了一下(教程比以前详细了挺多),简单记录一下,源码在文末。
## 版本变化
个人感觉比较大的变化:Form视图不需要切换到编辑模式,自动检测变化,自动保存 + 手动保存 + 手动撤销
![在这里插入图片描述](https://img-blog.csdnimg.cn/14a5742a30d94d6881c853d8cfc103bd.png)
## 模块开发步骤
1. 添加模块元数据 `__manifest__.py`,自动生成:odoo-bin scaffold <module name> <where to put it>
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中 <menuitem> 是一种菜单记录的简写方式,支持嵌套。
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](https://github.com/aaron-zzh/odoo-demo)
没有合适的资源?快使用搜索试试~ 我知道了~
Odoo16 开发教程 示例模块个人实现源码
共45个文件
py:14个
xml:13个
pyc:12个
需积分: 16 10 下载量 185 浏览量
2022-11-03
17:43:14
上传
评论 1
收藏 41KB RAR 举报
温馨提示
Odoo 号称全球第一的开源ERP平台,除了提供一站式的企业应用开发解决方案,作为一个网站设计器或低代码平台也是挺强大的。 最近工作调整,安装Odoo16试用,了解一下新版变化,把官方的教程(房地产模块)自己实现了一下。
资源推荐
资源详情
资源评论
收起资源包目录
odoo-demo.rar (45个子文件)
.gitignore 2KB
demo
models
estate_property_tag.py 397B
__pycache__
estate_property_offer.cpython-310.pyc 3KB
estate_property_type.cpython-310.pyc 2KB
res_users.cpython-310.pyc 492B
estate_property_tag.cpython-310.pyc 659B
estate_property.cpython-310.pyc 5KB
__init__.cpython-310.pyc 329B
estate_property_type.py 2KB
estate_property.py 5KB
__init__.py 191B
estate_property_offer.py 4KB
res_users.py 223B
__manifest__.py 1KB
data
estate_property_data.xml 589B
__pycache__
__init__.cpython-310.pyc 181B
static
description
icon.png 7KB
icon.svg 6KB
views
estate_property_offer_views.xml 1KB
estate_property_views.xml 10KB
estate_property_type_views.xml 3KB
menu_actions.xml 1KB
res_users_views.xml 553B
estate_property_tag_views.xml 985B
__init__.py 71B
report
estate_property_templates.xml 4KB
estate_property_reports.xml 1KB
security
ir.model.access.csv 976B
demo_security.xml 3KB
demo
demo_data.xml 3KB
README.md 138B
wizard
__pycache__
change_salesman_wizard.cpython-310.pyc 1KB
__init__.cpython-310.pyc 175B
change_salesman_wizard.py 1KB
__init__.py 65B
change_salesman_wizard_views.xml 1KB
README.md 4KB
demo_account
models
__pycache__
estate_property.cpython-310.pyc 1KB
__init__.cpython-310.pyc 176B
estate_property.py 2KB
__init__.py 58B
__manifest__.py 555B
__pycache__
__init__.cpython-310.pyc 160B
__init__.py 49B
report
estate_property_templates.xml 425B
共 45 条
- 1
资源评论
AaronZZH
- 粉丝: 2792
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功