清单文件用于声明一个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) 字符串类型,必填
模块的可读名称。(在odoo中安装时用此名称搜索)
version
(str
) 字符串类型
这个模块的版本应该遵循语义版本控制规则。
description
(str
) 字符串类型
在重构结构化文本时,该模块扩展的描述。
author
(str
) 字符串类型
该模块的作者名。
website
(str
) 字符串类型
该模块作者的网站地址。
license
(str
, defaults: LGPL-3
) 字符串类型,默认为LGPL-3
该模块的分发许可证。
category
(str
, default: Uncategorized
) 字符串类型,默认为不分类
Odoo内部的分类类别,模块的粗略业务领域。
虽然推荐使用现有的分类,但字段是自由格式,并且可以在程序运行中创建自定义分类。分类层次结构可以使用分隔符 / 创建,例如:Foo / Bar将创建分类Foo和其子类Bar,并设置Bar为模块的分类。
depends
(list(str)
) 字符串列表类型
Odoo模块必须在这(自己的模块加载)之前被加载,即因为这个模块使用它们(依赖模块)创建的特点,也因为其会改变它们(依赖模块)定义的资源。
当一个模块被安装时,它的所有依赖项都在它之前被安装。同样的,在加载模块之前也会先加载依赖模块。
data
(list(str)
) 字符串列表类型
使用模块时必须始终安装或更新的数据文件列表。是一个来自模块根目录的路径列表。
demo
(list(str)
) 字符串列表类型
仅在示范模式下安装或者更新的数据文件列表。
auto_install
(bool
, default: False
) 布尔类型,默认为false
如果为 True,并且所有的依赖项都安装好看,则该模块将自动安装。
它通常用于“链接模块”,实现两个独立模块直接的协同集成。
例如 sale_crm模块依赖于 sale和 crm模块并设置了 auto_install。当 sale和crm 模块都安装完成时,系统自动将CRM活动添加到销售订单中,而无需 sale和 crm模块相互了解。
external_dependencies
(dict(key=list(str))
) 键为字符串列表的字典类型
包含Pyhton 和/或 二进制依赖项的字典。
对于python依赖项,必须为该字典定义 python键,并应将要导入的python模块列表分配给它。
对于二进制依赖项,必须为该字典定义 bin键,并分配一个二进制可执行名称列表给它。
如果没有在主机中安装python模块,或者没有在主机的PATH环境变量中找到二进制可执行文件,则不会安装该模块。
application
(bool
, default: False
) 布尔类型,默认为false
模块是否应该被视为一个成熟的应用程序(值为 True),或者仅仅作为一个技术模块(值为 False),他为现有的应用程序模块提供一些额外的功能。
css
(list(str)
) 字符串列表类型
指定要导入的自定义规则的css文件集,这些文件应该位于模块内的 static/src/css 路径下。
images
(list(str)
) 字符串列表类型
指定模块要使用的图片文件集
installable
(bool
default: False
) 布尔类型,默认为false
用户是否应该能够从网页界面安装该模块
maintainer
(str
) 字符串类型
负责维护该模块的个人或者实体,默认情况下,假定作者是维护者。
{pre_init, post_init, uninstall}_hook
(str
) 字符串类型
模块的安装/卸载的钩子,它们的值应该是一个表示在模块 __init__.py 中定义的函数名称的字符串。
pre_init_hook
以cursor作为其唯一参数,这个函数在模块安装之前执行。
post_init_hook 以cursor和registry作为参数,这个函数在模块安装后执行。
uninstall_hook 以cursor和registry作为参数,这个函数在模块卸载后执行。
当设置/清理所需的模块是极其困难或者不可能通过api来完成时才用到这些钩子。
ps:如有翻译不当的地方,欢迎指正。
原文地址:https://www.odoo.com/documentation/10.0/reference/module.html