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

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

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

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

     总结了 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处理

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

记录odoo11到odoo12的一些变化,供参考:https://www.jianshu.com/p/8e1de5f25ef4

表单模型变化

modelodoo11odoo12
计量单位 product.uom uom.uom
产品变体 product.attribute.line product.template.attribute.line
贸易条款 stock.incoterms account.incoterms

框架变化

  • odoo12会检查对象定义,没有写_description会在日志中显示WARNING
  • form视图不再支持不带for的label标签,可用<p></p>替代
  • search视图中的filter标签不允许没有name属性
posted @ 2020-06-28 08:34  建设工程项目  阅读(1659)  评论(0编辑  收藏  举报