关于odoo中__mainfest__.py字段含义、功能详解
mainfest.py
注:本文摘自《odoo10.0官方文档》
翻译:李海振
地址:https://www.odoo.com/documentation/10.0/reference/module.html
清单文件用于将python包声明为Odoo模块并指定模块元数据。
它是一个名为的文件__manifest__.py
,包含一个Python字典,其中每个键指定模块元数据。
可用的清单字段是:
name
(str
,必填)
人类可读的模块名称
version
(str
)
这个模块的版本应该遵循语义版本规则
description
(str
)
reStructuredText中模块的扩展描述
author
(str
)
模块作者的姓名
website
(str
)
模块作者的网站URL
license
(str
,默认:LGPL-3
)
模块的分发许可证
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活动追踪到销售订单没有任何 sale
或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
默认值:False
)
用户是否应该能够从Web UI安装模块。
maintainer
(str
)
负责维护此模块的人员或实体,默认情况下假定作者是维护者。
{pre_init, post_init, uninstall}_hook
(str
)
用于模块安装/卸载的挂钩,它们的值应该是一个字符串,表示模块内定义的函数的名称 __init__.py
。
pre_init_hook
将光标作为唯一参数,此函数在模块安装之前执行。
post_init_hook
将游标和注册表作为参数,在模块安装后立即执行此功能。
uninstall_hook
将游标和注册表作为参数,在模块卸载后执行此函数。
只有在通过api非常困难或无法完成此模块所需的设置/清理时,才应使用这些挂钩。