Odoo學習筆記一:odoo初探


 

 

轉載請注明原文地址:https://www.cnblogs.com/ygj0930/p/11189194.html

 

一:Odoo架構

1:數據庫服務器層:postgreSQL數據庫服務器,用於存儲所有應用數據。

2:openERP應用服務層:包含所有企業模塊邏輯(報表引擎、工作流引擎等),向下提供ORM引擎,向上提供web服務,控制服務器與瀏覽器的通信。

3:客戶層:包括GUI客戶端以及Web客戶端。

客戶端通過JSON-RPC或者XML-RPC與服務器進行通信。

 

二:Odoo常用功能模塊

企業管理模塊

物料管理模塊

財務管理模塊

人力資源模塊

客戶與供應商關系管理模塊

項目管理模塊

日常工作管理模塊

溝通工具模塊

業務流程管理模塊

......

 

三:odoo開發簡介

odoo開發要實現以下功能:

數據訪問功能:信息的增刪查改。基於MVC模式進行開發,其中Model用ORM了來對應數據庫表並操縱,而view則用XML來定制界面,Controller也是用XML來定義響應。

工作流開發:用軟件表達企業層級的工作協作關系。有兩種方式:XML方式定義、可視化拖拽編程定義。

報表開發:把系統的數據以特定形式輸出打印。主要有:文檔報表、圖形報表等。

 

四:繼承開發

Odoo提供了大量現成的模塊給我們使用,但是某些情況下,我們需要制定符合自己需求的功能模塊。Odoo開發的一條黃金准則是——不要修改現有的模塊,以免改動后的代碼與原有模塊產生混淆。

因此,odoo提供了繼承機制,我們可以選擇一個基礎模塊,然后繼承它,在它的基礎上進行修改、擴展,生成自己的模塊。

開發自己的模塊時,需要在模塊所在目錄下,創建兩個文件:__init__.py和__openerp__.py,在其中定義模塊的初始化操作以及模塊的描述。

然后使用自己的模塊:把自己的模塊路徑設置到odoo中,重啟odoo讓其搜索到自定義模塊,即可通過odoo進行安裝。

 

模塊文件目錄構成:

data:存放demo和data xml

models:存放模型定義:繼承models.Model類,定義出的模型類會自動與Odoo提供的ORM接口匹配,也就是說這些模型類會自動存入sql中。

controllers:存放http路徑控制(url請求處理)

views:網頁視圖文件與模版文件(xml文件,使用QWEB語言進行描述)

static:靜態資源文件,如css、js等

security:對模塊的訪問權限控制,在ir.model.access.csv文件中定義。還可以新建一個record_rule.xml,在其中進行更細化的權限控制。

繼承模塊通過 _inherit=“繼承的模塊”  屬性來實現。之后在新創建的模塊中就可以新增field、修改父模塊的field、重載方法了。

 

不僅僅模塊可以繼承開發,視圖文件也可繼承修改,對與視圖文件中某個標簽,通過 ref=“繼承的視圖元素”進行繼承。

 

五:數據庫端開發

可以使用pgadmin3來對postgreSQL數據庫管理操作,如果SQLYog操作mysql一樣。

 

六:模塊開發流程

1:分析模塊模型,得出模型所需的字段有哪些,然后定義模型類——python編程。

2:構建菜單對象——在views文件夾下,使用xml定義菜單項。

3:構建動作對象,關聯某個具體菜單項的響應。

4:構建視圖對象:主要是list、tree、form、search視圖。

5:配置__init__.py和__openerp__.py

 

七:orderset

odoo8新增的ORM API,最常用的有 domain(fieldName,op,value) 方法 以及 search(fieldName,op,value)。

 

八:模型內的數據文件

1:ID

所有存儲在Odoo底層數據庫中的記錄都有一個獨一無二的id。odoo通過ir.model.data模型來管理這些ID,這個模型對應數據庫中ir_model_data表,其存儲了ID與具體某條具體的記錄的映射關系。

2:導入導出數據

tree列表視圖下,可以導入導出數據。其中,導入數據需要csv格式,導出則可以為csv或excel格式。

3:標簽值

使用filed標簽指明某個字段並賦值。賦值有兩種方式:<field>值<field/> 、<field name="" eval="計算標簽值的表達式"/>

 

九:工作流開發

工作流開發主要使用xml,有三種組成元素:workflow、activity、transition。


免責聲明!

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



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