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取决于salecrm,并设置为auto_install。 当安装了salecrm时,它会自动将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非常困难或无法完成此模块所需的设置/清理时,才应使用这些挂钩。

原文地址:https://www.cnblogs.com/myt2000/p/9512684.html