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

表單模型變化

model odoo11 odoo12
計量單位 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屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM