清单文件用于将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',
],
}
manifest 文件,格式如上,可用的清单字段是:
name
(str
,为必填项)
模块的可读名称,在应用列表中,显示为安装的模块名。
version
(str
)
此模块的版本,应遵循语义版本控制规则
description
(str
)
对当前模块做出描述
author
(str
)
模块作者的姓名
website
(str
)
模块作者的网站URL
license
(str
,默认:LGPL-3
)
模块的发行许可证。可能的值:
GPL-2
GPL-2 or any later version
GPL-3
GPL-3 or any later version
AGPL-3
LGPL-3
Other OSI approved licence
OEEL-1
(Odoo企业版许可证v1.0)OPL-1
(Odoo专有许可证v1.0)Other proprietary
category
(str
,默认:Uncategorized
)
Odoo中应用模块的分类依据,尽管建议使用现有类别,但该字段为自由格式,并且会即时创建未知类别。可以使用分隔符 / 创建类别层次结构,例如,Foo/Bar 将创建一个类别Foo,一个类别Bar作为Foo的子类别,并将其模块的类别设置为Bar。
depends
(list(str)
)
必须先加载的Odoo模块,这是因为该模块使用了它们创建的功能或因为它更改了它们定义的资源。安装模块后,其所有依赖项都将在其之前安装。同样,在模块加载之前先加载依赖项。
data
(list(str)
)
必须始终随模块安装或更新的数据文件列表。来自模块根目录的路径列表。
demo
(list(str)
)
仅在演示模式下安装或更新的数据文件列表
auto_install
(bool
,默认:False
)
如果为True
,且已安装了所有依赖项,则将自动安装该模块。通常用于“链接模块”,以实现两个其他独立模块之间的协同集成。例如,sale_crm 依赖于 sale 和 crm 模块, 并将设置为auto_install。当 sale 和 crm安装后,它会自动安装,并将的CRM活动追踪到销售订单上。
external_dependencies
(dict(key=list(str))
)
包含python和/或二进制依赖关系的字典。对于python依赖项,必须为此字典定义python键,并且应为其分配一个要导入的python模块列表。对于二进制依赖性,必须为此字典定义bin键,并且应为其分配一个二进制可执行文件名称列表。如果主机中未安装python模块,或者在主机的PATH环境变量中找不到二进制可执行文件,则不会安装该模块。
application
(bool
,默认:False
)
该模块是应被视为成熟的应用程序(True
)还是仅仅是为现有应用程序模块提供一些额外功能的技术模块(False
)。
css
(list(str)
)
使用要导入的自定义规则指定css文件,这些文件应位于static/src/css
模块内部。
images
(list(str)
)
指定模块要使用的图像文件。
installable
(bool
默认值:True
)
用户是否应该能够从Web 界面安装模块。
maintainer
(str
)
负责此模块维护的个人或实体,默认情况下,假定作者为维护者。
{pre_init, post_init, uninstall}_hook
(str
)
用于模块安装/卸载的挂钩,它们的值应该是一个字符串,表示在模块的__init__.py中定义的函数的名称。
pre_init_hook
以游标为唯一参数,此函数在安装模块之前执行。
post_init_hook
以游标和注册表为参数,此函数在模块安装后立即执行。
uninstall_hook
以游标和注册表为参数,该功能在模块卸载后执行。
仅当该模块所需的设置/清理非常困难或无法通过api实现时,才应使用这些钩子函数。
原文 :https://www.odoo.com/documentation/13.0/reference/module.html#reference-module-manifest