Odoo 創建新模塊-創建我們第一個模塊

odoo創建新模塊步驟-創建我們的第一個模塊

環境:PostgreSQL+Pycharm+MacOS

目標:完成第一個"請假"模塊的創建

步驟:

  1. 新建文件夾-用於存放自己創建的所有模塊
  2. 命令生成新模塊
  3. 設置 models
  4. 設置 views
  5. 設置 security
  6. 設置__manifest__.py
  7. 運行安裝模塊
  8. 完成

下來來詳細說明:

01

新建文件夾myaddons

這沒什麼好說的,自己創建的模塊最好不要放到 odoo本身模塊路徑下面,不易維護。以後我們自己創建的模塊都放在這個文件夾下面。

Odoo 創建新模塊-創建我們第一個模塊

重要:設置一下 odoo.conf 中的 addons_path,添加 myaddons 的路徑,否則 odoo 無法找到你添加的模塊

Odoo 創建新模塊-創建我們第一個模塊

02

創建新模塊-scaffold

命令行:./odoo-bin scaffold qingjia myaddons

Odoo 創建新模塊-創建我們第一個模塊

說明:

scaffold: Odoo提供的一種機制來幫助建立一個新的空模塊

qingjia: 自己定義的模塊名稱

myaddons: 文件夾路徑

接下來我們可以看到 qingjia 模塊中的一堆文件,下面來一項項進行說明

03

models

用於記錄Odoo模型名稱,定義數據庫字段

請假模塊我們需要定義字段:申請人,請假天數,開始時間,請假事由

Odoo 創建新模塊-創建我們第一個模塊

說明:

_name: 設置數據庫表名。用.隔開,在數據庫中表示為 qingjia_qingjiadan

_description: 設置描述

後面是定義各種字段的類型,這個放以後來詳細說明

04

View

Odoo視圖設置,展示給用戶的視圖,我們來定義一個簡單的tree 與 form 視圖

  • tree 視圖
Odoo 創建新模塊-創建我們第一個模塊

這是一部分代碼,先進行一下說明再往後面寫

odoo視圖使用的 xml 文件

<field>請假單 list/<field>

這裡定義 tree 視圖,表格的標題

<field>qingjia.qingjiadan/<field>

定義關聯的 model 數據表,與 models 中的_name一致

Odoo 創建新模塊-創建我們第一個模塊

定義在表格中顯示的字段,name 關聯到 models 中定義的字段名

  • form 視圖
Odoo 創建新模塊-創建我們第一個模塊

結構與上面類似,這裡就不做說明了。

  • 操作

odo

說明:

定義對tree與 form 的操作,操作id 與菜單相關聯。這裡定義了“請假單”是“請假”的二級菜單

05

Secrity

這裡是定義訪問權限的地方,以後會詳細說明

Odoo 創建新模塊-創建我們第一個模塊

說明:id,與 name 可以自己命名,一般以數據表名稱來命名。

重點是 model_id,只能以 model_+表名形式。這裡我們 models 的_name 定義的是qingjia.qingjiadan。所以這部分我們以 model_qingjia_qingjiadan 來命名。

後面的 1,1,1,1分別代表上面的讀,寫,創建,刪除權限。一般結合用戶組來使用

06

__manifest__.py

Odoo 創建新模塊-創建我們第一個模塊

說明:

前面都是定義一些模塊的基本信息

data 中將定義的視圖 xml 文件,與security 的訪問控制文件放進來,這樣才能加載。注意逗號分隔

07

運行與安裝模塊

上一篇文章有介紹,這裡還是可以看一下設置。

Odoo 創建新模塊-創建我們第一個模塊

方式 1:設置完成後點擊這兩個中一個即可

Odoo 創建新模塊-創建我們第一個模塊

方式 2:命令行運行,terminal 輸入

./odoo-bin -c odoo.conf

08

測試

未報異常說明成功,打開瀏覽器輸入:127.0.0.1:8069

默認密碼:admin 登錄系統

Odoo 創建新模塊-創建我們第一個模塊

應用-所有 qingjia 模塊,安裝模塊

Odoo 創建新模塊-創建我們第一個模塊

完成我們請假模塊,用戶可以創建修改刪除數據

Odoo 創建新模塊-創建我們第一個模塊

tree 視圖對應

Odoo 創建新模塊-創建我們第一個模塊

form 視圖對應

撒花


分享到:


相關文章: