模塊清單?
清單?
清單文件用于將Python包聲明為Odoo模塊并指定模塊元數據。
這是一個名為 __manifest__.py
的文件,包含一個 Python 字典,其中每個鍵指定模塊元數據。
{
'name': "A Module",
'version': '1.0',
'depends': ['base'],
'author': "Author Name",
'category': 'Category',
'description': """
Description text
""",
# data files always loaded at installation
'data': [
'views/mymodule_view.xml',
],
# data files containing optionally loaded demonstration data
'demo': [
'demo/demo_data.xml',
],
}
可用的清單字段為:
name
(str
,必填)模塊的可讀名稱
version
(str
)該模塊的版本應遵循 語義化版本 規則
description
(str
)模塊的擴展描述,使用reStructuredText格式
author
(str
)模塊作者的姓名
website
(str
)模塊作者的網站 URL
license
(str
,默認值:LGPL-3
)模塊的分發許可證??赡艿闹担?/p>
GPL-2
GPL-2或任何以后的版本
GPL-3
GPL-3或更高版本
AGPL-3
LGPL-3
其他OSI批準的許可證
OEEL-1
(Odoo企業版許可證v1.0)OPL-1
(Odoo專有許可證v1.0)其他專有
category
(str
,默認值:Uncategorized
)Odoo中的分類類別,模塊所屬的大致業務領域。
雖然建議使用 現有類別,但該字段是自由格式的,未知類別會即時創建??梢允褂梅指舴?
/
創建類別層次結構,例如Foo / Bar
將創建一個類別Foo
,一個作為Foo
子類別的類別Bar
,并將Bar
設置為模塊的類別。depends
(list(str)
)必須在此模塊之前加載的Odoo模塊,因為此模塊使用它們創建的功能或更改它們定義的資源。
當一個模塊被安裝時,它的所有依賴項都會在它之前被安裝。同樣,在加載模塊之前會先加載依賴項。
注解
模塊 base
在任何 Odoo 實例中都已安裝。但是,您仍然需要將其指定為依賴項,以確保在更新 base
時更新您的模塊。
data
(list(str)
)必須始終與模塊一起安裝或更新的數據文件列表。從模塊根目錄開始的路徑列表
demo
(list(str)
)僅在“演示模式”下安裝或更新的數據文件列表
auto_install
(bool
或list(str)
,默認值:False
)If
True
, 如果所有依賴項都已安裝,則此模塊將自動安裝。通常用于實現兩個獨立模塊之間的協同集成的“鏈接模塊”。
例如,
sale_crm
依賴于sale
和crm
,并設置為auto_install
。當sale
和crm
都安裝時,它會自動將 CRM 活動跟蹤添加到銷售訂單中,而 無需sale
或crm
相互了解。如果是一個列表,它必須包含依賴項的子集。只要子集中的所有依賴項都安裝完畢,此模塊將自動安裝。剩余的依賴項也將自動安裝。如果列表為空,則無論其依賴項如何,此模塊都將始終自動安裝,并且這些依賴項也將被安裝。
external_dependencies
(dict(key=list(str))
)一個包含 Python 和/或二進制依賴項的字典。
對于 Python 依賴項,必須為此字典定義
python
鍵,并將要導入的 Python 模塊列表分配給它。對于二進制依賴項,必須為此字典定義
bin
鍵,并將二進制可執行文件的列表分配給它。如果主機上未安裝Python模塊或二進制可執行文件未在主機的PATH環境變量中找到,則該模塊將不會安裝。
application
(bool
,默認值:False
)該模塊是否應被視為一個完整的應用程序(
True
),還是僅作為技術模塊(False
)提供一些額外的功能給現有的應用程序模塊。assets
(dict
)定義了如何將所有靜態文件加載到不同的資源包中。有關如何描述資源包的詳細信息,請參見 assets 頁面。
installable
(bool
默認值:True
)用戶是否應該能夠從Web UI安裝模塊。
maintainer
(str
)負責維護此模塊的個人或實體,默認情況下,假定作者是維護者。
{pre_init, post_init, uninstall}_hook
(str
)Hooks 用于模塊的安裝/卸載,其值應該是一個字符串,表示在模塊的
__init__.py
中定義的函數的名稱。pre_init_hook
函數只接受一個游標作為參數,該函數在模塊安裝之前執行。post_init_hook
接受游標和注冊表作為參數,此函數在模塊安裝后立即執行。uninstall_hook
接受游標和注冊表作為其參數,此函數在模塊卸載后執行。這些鉤子應該僅在通過 API 進行此模塊的設置/清理非常困難或不可能時使用。
active
(bool
)已棄用。請使用
auto_install
。