odoo V10中文参考手册(五:模块、命令行odoo-bin)

Manifest

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': [
        'mymodule_view.xml',
    ],
    # data files containing optionally loaded demonstration data
    'demo': [
        'demo_data.xml',
    ],
}

可用的manifest字段:

name (str, required)

模块名称

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))

声明哪些模块需要在加载本模块之间加载,因为这个模块用到了其他模块里的内容。当安装一个模块时,它所依赖的模块会自动全部安装上去。

data (list(str))

每次加载模块时都需要加载的数据文件列表,每个文件名是相对模块目录的路径

demo (list(str))

只在演示模式下才加载的数据文件

auto_install (bool, default: False)

是否自动安装,默认是False,设置为True时,只要所依赖的模块安装了该模块会自动安装。一般用于协作模块如:sale_crm 依赖于sale和crm

odoo系统已存在的分类列表:https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml

运行

  • -d database, --database database 指定安装或更新模块时使用的数据库
  • -i modules, --init modules 以逗号分隔的需要在服务端运行之前安装的模块列表,需指定-d参数
  • -u modules, --update modules 在服务端运行之前需要更新的模块列表,以逗号分隔
  • --addons-path directories 模块储存的文件目录,以逗号分隔,运行时会扫描这些指定的目录
  • --workers count 默认0,如果设置会开启多进程并运行指定数量的worker(用于处理http和rpc请求)

下面是一系列用于限制和回收worker的选项

  • --limit-request limit 每个worker在生命周期内可处理的最多请求数,默认8196

  • --limit-memory-soft limit 每个worker允许占用的最大内存,如果内存占用超过了,在当前请求完成后会被关闭并回收,默认640M

  • --limit-memory-hard limit 硬性的内存约束,一旦超过直接关闭不等请求完成,默认768M

  • --limit-time-cpu limit 限制worker处理每个请求所占用的cpu秒数,超过则直接关闭,默认60

  • --limit-time-real limit 限制workder处理请求所使用的时间,超过直接关闭,该时间包含数据库查询等时间在内,默认120

  • --max-cron-threads count 专注于计划任务的worker数量,默认是2,在多线程下,worker是线程;在多进程下worker是进程,且这个是与http进程数分开的

  • -c config, --config config 提供一下可选的配置文件

  • -s, --save 保存服务器配置文件到当前配置文件,默认是HOME/.odoorc,当指定-c参数时是对应文件

  • --proxy-mode 开启X-Forwarded-*头

  • --test-enable 当安装模块后运行测试

  • --dev feature,feature,...,feature

参数:

  • all - 所有指定特性被激活
  • xml - 直接从xml文件读取qweb模板,一旦模板在数据库中有修改,它就不会从xml中读取了,直接下次更新模块或重初始化
  • reload - 当python文件有修改时自动重启服务(在用文本编辑器时可能没用。。。)
  • qweb - 在解析qweb模板时,如果一个节点有t-debug='debugger',暂停解析
  • (i)p(u)db 开启指定的python调试器,当碰到错误时直接返回

数据库参数

  • -r , --db_user 数据库用户名,用于连接postgresql数据库
  • -w , --db_password 当使用密码验证模式时的数据库密码
  • --db_host 数据库的主机地址
  • --db_port 数据库监听的端口,默认5432
  • --db-filter 隐藏不满足指定条件的数据库,filter参数是一个正则表达式,%h表示被请求的主机名,%d表示被请求的子域名(www.test.com和test.com都会匹配到test数据库)
  • --db-template