如何存取模块的配置信息
-
开发一个新模块通常需要一些配置测试。本来以为这个很容易,结果还是费力才找到一个不完美的方法。 有必要分享一下让大家少走弯路。
Odoo有一个View(openerp/addons/base/res/res_config.xml) 和一个Python (openerp/addons/base/res/res_config.py)文件定义了基本的模块配置功能.分析了这两个文件之后我还是没有找到好的办法。主要原因是其定义的几个model都是基于TransientModel (或旧版本的osv.osv_memory)。 而模块配置参数需要长久保存。
试着不用这种配置却发现很难定义一个普通的Model,只创建一条记录用于修改。 大家有什么好办法可以分享一下。
最后发现可以基于 'res.config.settings' model 来很简单定义新的配置参数。 只要表里列的名符合"default_xxx" 的模式就可以自动存取。这些列的值存在系统的'ir_value' 表里可供存取。 详细的描述和例子可以看 [检测到链接无效,已移除]