Odoo 模块的升级:11,12升级13

Posted ecprodoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Odoo 模块的升级:11,12升级13相关的知识,希望对你有一定的参考价值。

最近学习《Odoo快速入门与实战》,书中示例主要是基于 Odoo11,虽然书中也说可以在12中使用,但实践中,基于13,12的安装都出错。

网上寻找升级模块的资料,汇总如下:

1、如何升级odoo13,模块从odoo12到13的开发对比及注意要点(来源百度快照):

     总结了 odoo12 --> odoo13 的部份不同,分为 1 模型,2 视图,3 前端开发, 4 业务逻辑三大部份:

    Tip: 可通过指令操作找出需要改的后端代码:

grep -nri ‘oldname|sudo([^)]+)|api.multi|api.returns|api.one|api.cr|api.model_cr|12.0|compute=‘ $MODULE

1 模型 1.1 __manifest__ 改版本号如 13.19.11.30 1.2 移除的@api @api.multi, @api.returns, @api.one, @api.cr, @api.model_cr 1.3 chromeheadless 即将取代 wkhtmltopdf 1.4 多用 active_ids 取代 active_id 1.5 compute变化 多用 compute 取代 onchange compute_sudo 默认是True 增加 @api.depends_context 翻译的 key 是 lang,这个常用 延迟 recompute(),flush()后才存储 compute设置关联字段值时,要注意关联字段已有赋值 recompute会改生在 create, write 和 onchange 更好的 recompute 触发器 1.6 延迟update,write()不马上更改,要flush() 1.7 @api.create_multi 批量创建,多用提升性能 1.8 debug模式下log可见到更多的权限信息 1.9 增加 with_user(user) 直接处理用户切换, 判断值 env.su 1.10 审计处理从 track,track_sequence 改为 tracking 1.11 ir.actions.act_window 中移除 multi,替代为binding_view_types 1.12 小数点处理去除dp.get_precision 1.13 selections 类型的 field 只能支持 string 1.14 binary字段类型默认是存到附件模型中 1.15 sql执行注意增加 cr.commit 1.16 多公司处理,depends_context(company), with_company() 1.17 cli指令增加参数 upgrade-path 2 视图 2.1 tree views 的汇总增加 avg 2.2 xml定义移除view_type 2.3 views 增加参数 import, optional, expand 2.4 tree中<groupby>中可放<button>标签 3 前端 3.1 jQuery 3.x 3.2 Chartjs 3.3 bootstrap 4.x 3.4 font awesome 4.x 要改为直接使用名称,如area-chart 改 chart-area 3.5 rpc 传参要用 context 3.6 multi-company widget 4 业务逻辑 4.1 财务 account.invoice 改为 account.move account.invoice.line 改为 account.move.line account.invoice.tax 改为 account.move.lin account.voucher 改为 account.move account.voucher.line 改为 account.move.line 4.2 基础 res.partner的客户/供应商由 customer_rank/ supplier_rank处理

1 模型

1.1 __manifest__

改版本号如 13.19.11.30

1.2 移除的@api

@api.multi, @api.returns, @api.one, @api.cr, @api.model_cr

1.3 chromeheadless 即将取代 wkhtmltopdf

1.4 多用 active_ids 取代 active_id

1.5 compute变化

多用 compute 取代 onchange

compute_sudo 默认是True

增加 @api.depends_context

翻译的 key 是 lang,这个常用

延迟 recompute(),flush()后才存储

compute设置关联字段值时,要注意关联字段已有赋值

recompute会改生在 create, write 和 onchange

更好的 recompute 触发器

1.6 延迟update,write()不马上更改,要flush()

1.7 @api.create_multi 批量创建,多用提升性能

1.8 debug模式下log可见到更多的权限信息

1.9 增加 with_user(user) 直接处理用户切换, 判断值 env.su

1.10 审计处理从 track,track_sequence 改为 tracking

1.11 ir.actions.act_window 中移除 multi,替代为binding_view_types

1.12 小数点处理去除dp.get_precision

1.13 selections 类型的 field 只能支持 string

1.14 binary字段类型默认是存到附件模型中

1.15 sql执行注意增加 cr.commit

1.16 多公司处理,depends_context(company), with_company()

1.17 cli指令增加参数 upgrade-path

2 视图

2.1 tree views 的汇总增加 avg

2.2 xml定义移除view_type

2.3 views 增加参数 import, optional, expand

2.4 tree中<groupby>中可放<button>标签

3 前端

3.1 jQuery 3.x

3.2 Chartjs

3.3 bootstrap 4.x

3.4 font awesome 4.x

要改为直接使用名称,如area-chart 改 chart-area

3.5 rpc 传参要用 context

3.6 multi-company widget

4 业务逻辑

4.1 财务

account.invoice 改为 account.move

account.invoice.line 改为 account.move.line

account.invoice.tax 改为 account.move.lin

account.voucher 改为 account.move

account.voucher.line 改为 account.move.line

4.2 基础

res.partner的客户/供应商由 customer_rank/ supplier_rank处理

以上是关于Odoo 模块的升级:11,12升级13的主要内容,如果未能解决你的问题,请参考以下文章

将自定义模块从 Odoo 13 迁移到 15

odoo form视图 里面合计是怎么算出来的

将现有模块更新到 Odoo 12 中的最新版本

星辉信息科技Odoo模块开发教程7-noupdate 数据属性配置

odoo12 - 关于odoo12在windows10上运行的配置问题

odoo 怎么重写模块默认方法