ODOO13 manifest 清单文件常用参数

·  阅读 90

清单文件的作用是将一个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) 该模块的发行许可。可能的值。

  • 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, 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,并被设置为自动安装。当sale和crm都被安装时,它会自动将CRM活动跟踪添加到sale订单中,而sale和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: True) 用户是否应该能够从Web UI中安装模块。

maintainer(str) 负责维护该模块的人或实体,默认情况下,作者是维护者。

{pre_init, post_init, uninstall}_hook (str) 用于模块安装/卸载的钩子,它们的值应该是一个字符串,代表模块的__init__.py 内定义的函数的名称。

  • pre_init_hook 将一个游标作为其唯一的参数,这个函数在模块安装前执行。
  • post_init_hook 以一个游标和一个注册表作为参数,这个函数在模块安装后立即执行。
  • uninstall_hook以一个游标和一个注册表为参数,这个函数在模块卸载后执行。

这些钩子应该只在该模块所需的设置/清理工作非常困难或不可能通过api进行时使用。

active (bool) 这表示该模块是否必须自动安装。

分类:
后端
标签:
分类:
后端
标签: