odoo官方文档第五章 Module Manifests
Module Manifests
Manifest
清单文件用于将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,required)
人可读的模块名称
version (str)
这个模块的版本应该遵循语义版本规则
description (str)
reStructuredText中模块的扩展描述
author (str)
模块作者的姓名
website (str)
模块作者的网站URL
license (str, defaults: LGPL-3)
模块的分发许可证
category (str, default: Uncategorized)
Odoo内的分类类别,模块的粗略业务领域。
虽然建议使用现有类别,但该字段是自由形式的,并且即时创建未知类别。 可以使用分隔符/
例如创建类别层次结构。 Foo / Bar
将创建一个类别Foo
,一个类别Bar
作为Foo
的子类别,并将Bar
设置为模块的类别。
depends (list(str))
Odoo模块必须在此之前加载,因为该模块使用它们创建的功能,或者因为它改变了它们定义的资源。
安装模块时,会在其之前安装所有依赖项。 同样在加载模块之前加载依赖项。
data (list(str))
必须始终使用模块安装或更新的数据文件的数据。 模块根目录中的路径列表
demo (list(str))
仅在演示模式下安装或更新的数据文件列表
auto_install (bool, default: False)
如果为True
,则在安装所有依赖项时将自动安装此模块。
它通常用于“链接模块”,实现两个独立模块之间的协同集成。
例如,sale_crm
取决于sale
和crm
,并设置为auto_install
。 当安装了sale
和crm
时,它会自动将CRM
广告系列跟踪添加到销售订单中,而无需销售或crm
彼此了解
external_dependencies (dict(key=list(str)))
包含python和/或二进制依赖项的字典。
对于python依赖项,必须为此字典定义python
键,并且应为其分配要导入的python模块列表。
对于二进制依赖项,必须为此字典定义bin
密钥,并且应为其分配二进制可执行文件名列表。
如果未在主机中安装python模块或在主机的PATH环境变量中找不到二进制可执行文件,则不会安装该模块。
application (bool, default: False)
是否应该将模块视为完全成熟的应用程序(True
)或仅仅是为现有应用程序模块提供一些额外功能的技术模块(False
)。
css (list(str))
使用要导入的自定义规则指定css文件,这些文件应位于模块内的static / src / css
中。
images (list(str))
指定模块使用的图像文件。
installable (bool default: False)
用户是否应该能够从Web UI安装模块。
maintainer (str)
负责维护此模块的人员或实体,默认情况下假定作者是维护者。
{pre_init, post_init, uninstall}_hook (str)
用于模块安装/卸载的钩子,它们的值应该是一个字符串,表示模块的__init__.py
中定义的函数的名称。
pre_init_hook
将光标作为唯一参数,此函数在模块安装之前执行。
post_init_hook
将光标和注册表作为其参数,此功能在模块安装后立即执行。
uninstall_hook
将游标和注册表作为参数,在模块卸载后执行此函数。
只有在通过api非常困难或无法完成此模块所需的设置/清理时,才应使用这些挂钩。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步