odoo17 常見升級問題

通用問題

模型名變更

字段變更

方法名變更

方法參數變更

xml數據結構定義變化

xml的id變更

view視圖變化,導致xpath路徑出差

template結構變化,,導致xpath路徑出差,或者id不存在

升16問題

前端owl的架構變化

升17問題

前端

標簽棄置、改動:

attrs棄置

attrs="{'invisible':?['|',?'&',?('is_company','=',?True),('parent_id',?'=',?False),('company_name',?'!=',?False),('company_name',?'!=',?'')]}"

可變為

?invisible="((is_company?and?not?parent_id)?or?company_name)?and?company_name?!=?''"

【原attrs內的'='在新邏輯里為==:'a','=','123' ??a=='123'】

states棄置

states="pending,error"

可變為

?invisible=“state not in ['pending','error'] ”

<attribute>標簽改動

<attribute name="attrs">{'invisible': [('is_system', '=', False)]}</attribute>

可變為

<attribute name="invisible">not is_system</attribute>

res.partner模塊刪除gender性別字段

stock庫存模塊有問題,安裝之后有時候打開設置會報錯

運行當中會莫名報錯NameError: name 'GEOIP_EMPTY_COUNTRY' is not defined

mail.template 去掉了字段report_template,report_name

看板視圖取消了quick_add屬性

web/views/graph/colors.js 改到了web/core/colors/colors.js

ir.ui.view模型取消了field_parent字段

odoo.exceptions 去掉了Warning異常處理

模版 id=“portal_layout”中去掉了<div class="o_portal_my_security mt-3">這個div

原div<div class="row justify-content-between mt-4">下的布局移動到了 模版id=“side_content

”下面

<button icon="fa-code">按鈕需加入title以及class="oe_stat_button" 否則日志會報提醒

<button icon="fa-code" type="object" ?title="導出 xml 源" class="oe_stat_button" name="export_xml_source" />

設置 res_config_settings_view_form試圖 新增設置視圖邏輯變更

(源碼搜索 ref="base.res_config_settings_view_form" 可查看新設置視圖邏輯)

例:

<div class="..." data-string="Anodoo Develop" string="Anodoo Develop" >

<div id="develop_setting">

<h2>開發設置</h2>

<div class="row mt16 o_settings_container">

<div class="col-12 col-lg-6 o_setting_box" id="default_is_replace" title=" 默認是否替換開發目錄">

...........

</div>

</div>

</div>

</div>

變為

<app data-string="Anodoo Develop" string="開發設置" name="Anodoo" groups="base.group_system" ?>

<block title="開發設置" name="develop_setting">

<setting string="默認是否替換開發目錄" ?help="默認是否替換開發目錄" ?????????id="default_is_replace">

..........

</setting>

</block>

</app>

Manifest文件

  • 版本:不再支持4位版本號,精簡掉最開頭的大版本號,格式只能為`x.y`, `x.y.z`。比如原來為 16.24.03.30,現在要將大版本號去掉,使用?24.03.30
  • hook變化,只有一個env參數
def post_init_hook(env)
def pre_init_hook(env)
def uninstall_hook(env)

.py后臺python開發文件

  • Fields定義:不再支持 states?處理只讀與否,一般放到 xml?中處理特殊的只讀屬性
  • name_get: 改為? _compute_display_name
  • 模型變更:具體業務模塊中比較。核心的如?
mail.channel 改為 discuss.channel

.xml界面文件升級,可在rng中查看

  • 關鍵屬性:?Since 17.0, the "attrs" and "states" attributes are no longer used.?直接使用py表達式 invisible="is_mega_menu != True"

  • 設置Block中的中調整:多用app,setting標簽

  • 不在root級別支持 groups標簽,可直接刪除,在xml內部fields等定義中處理
  • widget提級:widget提級,可以不綁定在field直接使用,比如 tree中直接與數據無關的使用
  • tree視圖:?增加 open_form_view,可以特殊處理查看詳情。可以直接掛載widget,不被field包裹。不可見調整為 column_invisible。
  • graph視圖:柱圖增加處理 cumulated_start
  • calendar視圖:quick_add 變為 quick_create 且可以通過quick_create_view_id指定視圖
  • pivot視圖:無變化
  • search視圖:無變化

.js前端升級owl2

詳情參考?官方文檔?Framework Overview — Odoo 17.0 documentation

細節較多,可參考官方市場 app_web_widget_ztree?模塊,基本全面應用新 js?規范

Many2One Hierarchy Parent Child M2o Selector, zTree 樹狀下拉選擇器 | Odoo Apps Store

  • web端全面使用owl2,es規范
  • website端可使用舊snippets,同時可以使用owl
  • 取消registerPatch,統一用類的 patch處理。如:?patch(類.prototype, {xxx})
  • patch原類無需給新命名,但要自行處理相關依賴級別

Odoo Attrs 替代品

由于 Odoo 在 v17 中將 attrs 更改為(不再有 attrs),我創建了這個小腳本來幫助您直接將 XML 文件中的所有 attrs 替換為 XML 中的相應屬性。

依賴關系

只需安裝

pip install beautifulsoup4 lxml

或者

pip install -r requirements.txt

用法

啟動Python腳本

python3 replace_attrs.py

它會詢問您根目錄以檢查XML文件。您可以給出項目的絕對路徑。

如果沒有給出參數,它將使用當前目錄。

對于每個文件,腳本將詢問您是否要將所有attrs=and替換為標簽中states=的相關attrs(invisible,readonly,required,column_invisible) - (不可見串聯或創建)(對于每個標簽的所有實例)。states

除非您在開頭選擇“y”進行自動替換(不要詢問每個文件)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43761.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43761.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43761.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么,有狗快跑!慢著,這次手把手教你怎么過安全狗!(sql注入篇)

前言 在記憶里上次繞安全狗還是在上次&#xff0c;開開心心把自己之前繞過狗的payload拿出來&#xff0c;發現全部被攔截了&#xff0c;事情一下子就嚴肅起來了&#xff0c;這就開整。 環境 本次環境如下sqli-lab的sql注入靶場 網站安全狗APACHE版V4.0版本的最高防護等級繞過…

秋招Java后端開發沖刺——并發篇2(ThreadLocal、Future接口)

本文對ThreadLocal類和Future接口進行了總結概括&#xff0c;包括ThreadLocal類的原理、內存泄露等問題&#xff0c;和Future接口的使用等問題。 一、ThreadLocal 1. 介紹 ThreadLocal&#xff08;線程局部變量&#xff09;是Java中的一個類&#xff0c;線程通過維護一個本地…

一文帶你徹底搞懂什么是責任鏈模式!!

文章目錄 什么是責任鏈模式&#xff1f;詳細示例SpingMVC 中的責任鏈模式使用總結 什么是責任鏈模式&#xff1f; 在我們日常生活中&#xff0c;經常會出現一種場景&#xff1a;一個請求需要經過多個對象的處理才能得到最終的結果。比如&#xff0c;一個請假申請&#xff0c;需…

STM32智能倉庫管理系統教程

目錄 引言環境準備智能倉庫管理系統基礎代碼實現&#xff1a;實現智能倉庫管理系統 4.1 數據采集模塊 4.2 數據處理與控制算法 4.3 通信與網絡系統實現 4.4 用戶界面與數據可視化應用場景&#xff1a;倉庫管理與優化問題解決方案與優化收尾與總結 1. 引言 智能倉庫管理系統通…

藏漢翻譯通作為翻譯軟件的優勢有哪些?

藏漢翻譯通作為一款專業的藏漢雙語翻譯軟件&#xff0c;具有以下優勢&#xff1a; 人工智能技術應用&#xff1a;藏漢翻譯通利用了人工智能翻譯和語音識別合成技術&#xff0c;提供智能藏文翻譯服務。 高準確率&#xff1a;文字識別準確率可達90%&#xff0c;語音識別轉化文字…

蒼穹外賣--導入分類模塊功能代碼

把各層代碼拷貝到所需文件夾下&#xff0c; 進行編譯 在運行 提交和推送倉庫

解鎖AI大模型潛能:預訓練、遷移學習與中間件編程的協同藝術

在人工智能的浩瀚星空中&#xff0c;大型預訓練模型&#xff08;Large Language Models, LLMs&#xff09;猶如璀璨的星辰&#xff0c;引領著技術革新的浪潮。這些模型通過海量數據的滋養&#xff0c;學會了理解語言、生成文本乃至執行復雜任務的能力。然而&#xff0c;要讓這些…

【正點原子i.MX93開發板試用連載體驗】項目計劃和開箱體驗

本文最早發表于電子發燒友&#xff1a;【   】【正點原子i.MX93開發板試用連載體驗】基于深度學習的語音本地控制 - 正點原子學習小組 - 電子技術論壇 - 廣受歡迎的專業電子論壇! (elecfans.com)https://bbs.elecfans.com/jishu_2438354_1_1.html 有一段時間沒有參加電子發…

Pyspider WebUI 未授權訪問致遠程代碼執行漏洞復現

0x01 產品簡介 Pyspider是由國人binux編寫的強大的網絡爬蟲系統,它帶有強大的WebUI(Web用戶界面),為用戶提供了可視化的編寫、調試和管理爬蟲的能力。這一特點使得Pyspider在爬蟲框架中脫穎而出,尤其適合那些希望快速上手并高效開發爬蟲的用戶。允許用戶直接在網頁上編寫…

for in和for of對比

不同點&#xff1a; 時間點不同&#xff1a;for in 在js出現之初就有&#xff0c;for of出現在ES6之后 遍歷的內容不同&#xff1a;for in用于遍歷對象的可枚舉屬性(包括原型鏈上的可枚舉屬性)&#xff0c;for of用于遍歷可迭代對象的值 看個例子 // for in const arr [a,b,…

Linux--線程的控制

目錄 0.前言 1.pthread庫 2.關于控制線程的接口 2.1.創建線程&#xff08;pthread_create&#xff09; 2.2.線程等待&#xff08;pthread_join&#xff09; 代碼示例1&#xff1a; ?編輯 ***一些問題*** 2. 3.創建多線程 3.線程的終止 &#xff08;pthread_exit /…

給數組/對象添加一個(key-value)對象

需要將一個value值前面加上key值&#xff0c;放進數組/對象中 this.$set(res.data[0],type,1) this.$set( target, key, value ) target&#xff1a;要更改的數據源(可以是對象或者數組) key&#xff1a;要更改的具體數據 value &#xff1a;重新賦的值。 結果&#xff1a;…

文華財經盤立方多空變色波段趨勢線指標公式源碼

文華財經盤立方多空變色波段趨勢線指標公式源碼&#xff1a; N1:20; N2:ROUND(N1/2,1); N3:ROUND(SQRT(N1),1); N4:2*EMA2(C,N2)-EMA2(C,N1); 尊重市場:EMA2(N4,N3),COLORRED,LINETHICK2; 尊重市場1:IF(尊重市場<REF(尊重市場,1), 尊重市場,NULL),COLORGREEN,LINETHIC…

C++之List模擬實現

目錄 list的邏輯結構 構造函數 拷貝構造函數 賦值運算符重載 返回迭代器的初始位置 返回迭代器的最終位置 元素的插入 頭插 尾插 刪除元素 頭刪 尾刪 清空整個鏈表 析構函數 正向迭代器 反向迭代器 整體代碼 上期我們學寫了list的基本操作&#xff0c;本期我…

蘇東坡傳-讀書筆記十一

蘇東坡對寫作與風格所表示的意見最為清楚。他說做文章“大略如行云流水&#xff0c;初無定質&#xff0c;但常行于所當行&#xff0c;常止于所不可不止。文理自然&#xff0c;姿態橫生。孔子曰&#xff1a;‘言之不文&#xff0c;行而不遠。’又曰&#xff1a;‘辭達而已矣。’…

【cocos creator】2.4.x實現簡單3d功能,點擊選中,旋轉,材質修改,透明材質

demo下載:(待審核) https://download.csdn.net/download/K86338236/89527924 const {ccclass, property } = cc._decorator;const enum box_color {NORMAL = 0,DASHED_LINE = 1,//虛線TRANSLUCENT = 2,//半透明 }@ccclass export default class main extends cc.Component {…

STC32G/F/8H通用無刷電機驅動板

STC32G/F/8H通用無刷電機驅動板 &#x1f4cc;相關篇《低成本STC32G8K64驅動控制BLDC開源入門學習方案》 ?該驅動板是在上一版的基礎上改版而來。這里的STC32G/F/8H所指的是封裝型號為-LQFP48的STC32G8K64、STC32G12K128、STC32F12K54、STC8H8K64U。是一款兼容有感和無感設計的…

數據結構--樹和二叉樹的一些知識點總結

樹是n個結點的有限集&#xff0c;當n0時&#xff0c;稱為空樹。樹是一種遞歸的數據結構&#xff0c;樹作為一種邏輯結構同時也是一種分層的結構結點的深度是從根開始自頂向下累加&#xff1b;結點的高度是從葉結點自底向上累加由于樹中的分支是有向的&#xff0c;即從雙親指向孩…

【Java算法】二分查找 下

&#x1f525;個人主頁&#xff1a; 中草藥 &#x1f525;專欄&#xff1a;【算法工作坊】算法實戰揭秘 一.山脈數組的峰頂索引 題目鏈接&#xff1a;852.山脈數組的峰頂 ? 算法原理 這段代碼實現了一個查找山峰數組中峰值索引的算法。山峰數組是一個先遞增后遞減的數組&…

玩具營銷是如何拿捏成年人錢包?

好像現在的成年人逐漸熱衷于偏向年輕化&#xff0c;問問題會好奇“尊嘟假嘟”&#xff0c;飯量上的“兒童套餐”&#xff0c;娃娃機前排長隊......而最突出的莫過于各類各式的玩具不斷收割當代年輕人&#xff0c;除去常給大朋友們小朋友們送去玩具福利的“麥、肯”雙門&#xf…