我现在先以文件为主导的方式在学习过程中试着逐步解释说明odoo中涉及到的字段的含义,函数的参数含义作用和文件的作用等等。增强动手能力。本文不对具体代码的逻辑进行过多探讨,仅对属性进行说明。我会在学习过程中不断的添加之前没遇到过的东西,不全的请谅解或指正。
我现在水平十分初级,我会加入很多我自己的理解,如果有错误或者是没说到位的地方,请一定指正,万分感谢。
本文参考Alan Hou翻译的
最好用的免费ERP系统Odoo 12开发手册
写成。https://alanhou.org/odoo-12-development/
其他网站资源
https://webkul.com/blog/working-with-xml-data-in-odoo/
__manifest__.py
__manifest__.py
就是一个声明文件,在他里面会包含许多模块层面的信息,包括名称、介绍和作者等等描述性信息,还包括一些模块中要用到的文件的声明,告诉odoo这些文件在哪,还有模块的可用或者不可用等等的一些属性都可以在这里定义。
下面以一段代码加注释的方式介绍这一文件里用到的内容。
'name': 'Module Name', # 插件模块标题字符串
'description': 'What the module do.', # 功能描述长文件,通常为RST格式
'author': 'Starwaves', # 作者姓名,本处为一个字符串,可以是逗号分隔的一系列姓名
'depends': ['base'], # 一个依赖插件模块列表,在模块安装时会先安装这些插件
'application': True, # 一个布尔型标记,代表模块是否在应用列表中以 app 展现
'data': [ # 声明添加安装或更新时需要加载的模块列表
'security/library_security.xml',
'security/ir.model.access.csv',
'views/library_menu.xml',
'views/book_view.xml',
'views/book_list_template.xml',
],
'demo': [ # 还没搞清楚
'data/res.partner.csv',
'data/library.book.csv',
'data/book_demo.xml',
], }
# 在真实场景中,建议也同时使用其它属性名,因它们与 Odoo 的应用商店有关:
# 这些属性名我暂时没有用到,如果用到了会加进来
# summary:显示为模块副标题的字符串
# version::默认为1.0,应遵守版本号规则。建议在模块版本号前加上 Odoo 版本,如12.0.1.0
# license::默认为LGPL-3
# website:了解模块更多信息的 URL,可以帮助人们查看更多文档或提供文件 bug 和建议的跟踪
# category::带有模块功能性分类字符串,缺省为Uncategorized。
# 已有分类可通过安全组表单(位于Settings > Users & Companies > Groups)
# 的 Application字段下拉列表查看(需开启调试模式)
# 还有以下描述符键:
# installable:默认为 True,但可以通过设置为 False 来禁用模块