在模块安装上设置Odoo的配置设置

时间:2017-11-05 12:25:22

标签: python openerp odoo-8

我使用models.TransientModel在Odoo中进行了自定义配置设置,并实现了get_defaultset功能。我这样做的方式与此问题的答案中显示的相同

Set and get store data Odoo with TransientModel

安装模块后,设置为空。如何在安装时获得该配置设置的默认值?

我已尝试使用init功能。

def init(self, cr):
    config = self.pool.get("ir.config.parameter")
    config_value = {
        "value": "randomaddress@gmail.com",
        "key": "myapplication.email_address"
    }
    config.create(cr, uid, config_value, context=None)

它没有用。

1 个答案:

答案 0 :(得分:2)

您可以通过getter和setter方法执行以下操作:

class ClassName(models.TransientModel):
    _inherit = 'res.config.settings'

    key = fields.Char()
    value = fields.Char()

    @api.model
    def get_default_key_values(self, fields):
        return {
            'key': "myapplication.email_address",
            'value': "randomaddress@gmail.com",
        }

    @api.multi
    def set_key_values(self):
       self.ensure_one()
       ICP = self.env['ir.config_parameter']
       ICP.set_param('key', self.key)
       ICP.set_param('value', self.value)