odoo13正式發佈已有1個多月,引入了更多的功能,更快的速度(從代碼變化中可以很明顯的感受到),更友好的的界面。
我們也成功的在客戶上線了2個odoo13的項目,項目的部份模塊也放到了官方市場,近百個odoo13的模塊,多數是將 odoo12 的模塊進行了升級,全部符合odoo13 的開發規範和業務邏輯。
odoo 13 的項目模塊集合 可在此購買或免費下載。
我們總結了 odoo12 --> odoo13 的部份不同,分爲 1 模型,2 視圖,3 前端開發, 4 業務邏輯三大部份,讓大家了持續更新。
參考:開發變更(FQ)
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處理