1. 程式人生 > >46.Odoo產品分析 (五) – 定制板塊(2) – 為業務自定義odoo(1)

46.Odoo產品分析 (五) – 定制板塊(2) – 為業務自定義odoo(1)

關聯 分配 databases 操作 產品 生成 不同 業務 ron

查看Odoo產品分析系列—-目錄

技術分享圖片

在這一章節中,將學習到如何設置"開發者模式"以及備份數據庫;然後學習如何添加字段到數據庫並在表單和視圖中顯示。

1 了解odoo的構架

每一個應用都有三個重要的組件,model(模型)view(視圖)action(動作)

1.1 模型

odoo中,模型用於保持和管理組成應用的數據。當保存一張銷售訂單時,銷售訂單表頭的數據就被保存到名為sale.order的模型。諸如訂單日期和客戶地址等單個數據項稱為字段。在後面的介紹中,?

將學習向sale.order模型中添加字段。

1.2 視圖

模型本身不會向最終用戶顯示任何信息,它只為後臺的應用程序保存和管理數據。從這些模型中存儲的數據將用視圖顯示在應用程序中。視圖可以讓sale.order模型中的信息以不同的方式顯示。在odoo中也可以自定義自己想要的視圖。

1.3 動作

動作就是觸發相應的視圖或在模型上進行特定操作的觸發器。比如,在銷售中選擇報價單時,就是在觸發一個動作,告訴odoo框架顯示相應的sale.order視圖。若沒有動作odoo框架就不會知道應該顯示哪一個視圖。另一個例子就是,送出或確定銷售訂單,點擊確定時,odoo框架將調用相應的函數sale.order就將會更新。

2 開發者模式

自定義odoo的第一步就是激活開發者模式。當進入了這種模式後,odoo就在屏幕中顯示更多的信息。此模式還允許您對數據庫進行更改,並將該信息存儲在文件中。

2.1 激活開發者模式

在設置主菜單中,在界面的右邊有"激活開發者模式"的鏈接:?

技術分享圖片?

點擊"激活開發者模式",然後可以開始定制自己的odoo業務。要確定自己是否進入了開發者模式,查看瀏覽器上的URL中是否添加了?debug?

技術分享圖片?

另外,當鼠標懸停在在表單中的字段上時,系統會顯示字段信息。比如,在開發者模式下查看銷售訂單時,把鼠標放在訂購日期字段上,將顯示字段細節:?

技術分享圖片?

在截圖中可以看到,訂購日期字段的字段名為

date_order,且字段屬於sale.order模型對象(其實也代表該表單對應的數據庫)。另外,該字段的類型為datatime且為字段分配了修飾器。這些信息在定制odoo時將起很大的作用。

2.1 退出開發者模式

定制完成後,就需要退出開發者模式然後使用odoo開始工作。點擊設置菜單在打開開發者模式的地方有一個"取消激活開發者模式"鏈接。點擊它,查看瀏覽器的URLURL中沒有debug表示退出成功:?

技術分享圖片

3 數據庫的備份和恢復

當在開發者模式下最系統做更改時,這些改變將被寫入到與該公司關聯的數據庫中。這種方法的一個主要優點是,你不必用Python編寫代碼或創建自定義模塊來實現簡單的自定義設置。然而,其中一個主要的缺點是,你有可能做出一個不可取的,也許很難逆轉的改變。?

因此,在對數據進行更改之前,對數據庫進行備份十分重要。且應該經常進行數據庫的備份。

3.1 數據庫的備份

要備份數據庫,首先需要登出odoo?

技術分享圖片?

退出登錄後,點擊"數據庫管理"鏈接(如果安裝了"網站生成器"模塊可能看不到這個鏈接,這時候點擊"選擇"按鈕,然後在顯示的數據庫列表下點擊"數據庫管理"鏈接)?

技術分享圖片?

技術分享圖片?

點擊"Manage databases"?

技術分享圖片

( 可以點擊鏈接為系統設置一個密碼,用於管理數據庫 )?

技術分享圖片

在每一個數據庫後面可以選擇"備份""復制""刪除"當前數據庫。點擊"backup"?

技術分享圖片?

可以選擇備份成一個.zip文件或pg_dump文件。ZIP文件會比較大,因為它會包含一個加密的儲存文件的副本。pg_dump文件只包含在POSTGRESQL數據庫中保存的所有數據。選擇後,點擊Backup按鈕。?

點擊備份後,odoo會將備份文件保存到本地。如果選擇了pg_dump形式進行備份,則文件的拓展名將為.dumpzip形式則為.zip後綴。默認命名為數據庫名加備份的時間,如:?

技術分享圖片

3.2 數據庫的恢復

要恢復備份的數據庫,點擊"Restore Database"按鈕:?

技術分享圖片?

需要填寫三條信息,分別是管理密碼、文件路徑和數據庫名字:?

技術分享圖片?

點擊"繼續",完成數據庫的恢復。

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

46.Odoo產品分析 (五) – 定制板塊(2) – 為業務自定義odoo(1)