python - 在模块安装中设置 Odoo 的配置设置

标签 python odoo 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": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d3f2c232922202c29293f283e3e0d2a202c2421632e2220" rel="noreferrer noopener nofollow">[email protected]</a>",
        "key": "myapplication.email_address"
    }
    config.create(cr, uid, config_value, context=None)

没有成功。

最佳答案

您可以通过 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': "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e193808f858e8c80858593849292a1868c80888dcf828e8c" rel="noreferrer noopener nofollow">[email protected]</a>",
        }

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

关于python - 在模块安装中设置 Odoo 的配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121531/

相关文章:

python - 使用 PyCharm 社区版本进行远程开发的最佳方式是什么

python - 字典中元素的配对组合,不重复

sum - 如何求和一个字段的所有记录的所有值? (Odoo 13)

python - Odoo中如何继承一个纯Python类来修改一个方法?

odoo - 如何根据用户身份使用 ODOO 隐藏字段?

python - 类型错误 : __init__() takes exactly 2 arguments (3 given) - Odoo v8 to Odoo v10 community

python - CVXPY 中的逐元素乘法

python - python 2.7 的非 ASCII 标识符

xml - 电子邮件模板 openerp 中的当前日期?

jquery - 如何在 odoo 9 中使用 jQuery 显示警告消息