Odoo自建應用初步總結(一)

2022-07-11 10:06:11 字數 2155 閱讀 5891

學習了《odoo快速入門與實踐 python開發erp指南》(劉金亮 2023年5月第1版 機械工業出版社)第6章自建應用入門後進行一下總結。

因為本書作者使用odoo11,而目前最新版本為odoo14,因此存在一些版本上的差異。

odoo11的選單在左側導航區顯示,在odoo14中頂級選單(parent為空)在導航區顯示,而二級及以下選單在右側上部顯示。

圖1 odoo11介面

圖2 odoo14介面

在odoo14中,在開啟進入具體應用後,左側導航欄即「消失」了。從圖2可以看到這個效果。如果要進入其他應用,可點選介面左上角的圖示。

在第6章中,目前能看到的是方法裝飾器@multi

已經在odoo13以後廢棄了,所以在相應處,我使用了@depend(value)這個裝飾器。

odoo14一定還有與odoo11在編碼方面的差異,因目前章節還未涉及,故未做深入了解。這個最好能查閱odoo官網的文件。

在書中介紹了新增的「關注者管理」功能的檢視的建立,是繼承了base.view_partner_form,並在該檢視的節點後新增了乙個bug列表。我最初按照書中介紹的步驟進行操作,但並未出現書中展示的如圖3所示的介面。在我的應用介面中,首先是「bug」為個標籤未出現,其次是bug列表占用了mobile的輸入框的位置。還不明白具體是什麼原因。但更重要的是,當我開啟「聯絡人」這個應用,並進入乙個具體的記錄後,這個bug列表完全破壞了原本的布局:直接「衝出」了檢視資料的顯示區域。

圖3 新增bug列表後的顯示效果

後來,發現該檢視下部有乙個「tabs」標籤組,於是嘗試新增乙個tab,並將bug列表放在其中。最終結果如圖4。

相應的**如下:

1

<

record

model="ir.ui.view"

id="bug-manage.follower_form"

>

2<

field

name="name"

>關注者

field

>

3<

field

name="model"

>res.partner

field

>

4<

field

name="inherit_id"

ref="base.view_partner_form"

/>

5<

field

name="arch"

type="xml"

>67

8<

page

name="internal_notes"

position="after"

>

9<

page

name="關注的bugs"

string="關注的bugs"

>

10<

field

name="bug_ids"

/>

11page

>

12page

>

13field

>

14record

>

這樣修改後,在「聯絡人」應用中的效果也很好。

關於許可權管理的csv檔案中的model_id的指定,其實書中已經交待的很清晰了,這裡是為了再強調一下:

model_id的命名規則比較固定,比如我們的bug管理模型的_name是bm.bug,那麼model_id就是model_bm_bug。

總結一下就是:model_id命名格式:model_《模型類中_name屬性設定的值》。特別要注意的是:要將_name值中的「.」替換為「_」(下劃線)。

(關於odoo學習,相關的體會將持續更新。)

odoo 自建應用(1)

odoo版本 12.0 odoo支援使用腳手架建立應用,在終端輸入 odoo bin scaffold 應用名 資料夾名 應用名 controllers demo models security views init py manifest pyodoo遵循的也是mvc設計模式 其中,demo和se...

Odoo安裝教程1 建立第乙個 Odoo 應用

odoo 開發通常都需要建立自己的外掛程式模組。本文中我們將通過建立第乙個應用來一步步學習如何在 odoo 中開啟和安裝這個外掛程式。我們將從基礎的開發流學起,即建立和安裝新外掛程式,然後 在開發迭代中更新 來進行公升級。odoo 採用類 mvc model view controller 的結構,...

總結一次dubbo應用(一)

地點 北京海淀區 組織 乙個新成立的體育分公司 根據產品原型 階段性需求分析後考慮採用 dubbo 框架 同時與spring cloud 框架做過比較,spring cloud 雖是巨人,可惜爬上巨人的肩膀耗費時間比較長而且沒必要大材小用,本次只應用多端介面共用 隨捨棄spring cloud 採用...