odoo 一日一技 系统参数 config_parameter

本文介绍了Odoo中的ir.config_parameter模型,用于存储全局配置参数,如API密钥和URL。提到如何在继承模型中添加配置,以及如何使用sudo提升权限处理敏感数据,并指出参数值需以字符串形式存储,如需非字符串类型,需自行转换。
摘要由CSDN通过智能技术生成

# 基础介绍

在Odoo中,ir.config_parameter是一个特殊的模型,它用于存储全局配置参数。这些参数是全局的,可以在任何地方访问,而且它们的值在数据库中是持久化的。

你可以使用config_parameter模型来存储各种配置数据,比如API密钥、URL、系统设置等。你可以使用get_param方法来获取参数的值,使用set_param方法来设置参数的值。

# 使用示例

在继承增加配置时,字段一定要加上config_parameter参数命名,否则不会保存到ir.config_parameter模型中

```python

class ResConfigSettings(models.TransientModel):

    _inherit = 'res.config.settings'

    wechat_controllers = fields.Char(string='Wechat Record Url',default='http://',config_parameter='wechat_controllers')

```

获取参数

api_key = self.env['ir.config_parameter'].sudo().get_param('api_key')

设置参数

self.env['ir.config_parameter'].sudo().set_param('api_key', 'new_value')

# 注意

注意,由于config_parameter模型存储的数据是敏感的,所以通常需要使用sudo方法来提升权限。


 

另外,config_parameter模型的参数是以字符串的形式存储的,所以如果你需要存储非字符串的数据,你需要自己进行转换。例如,如果你需要存储一个布尔值,你可以将它转换为字符串'True'或'False',然后在获取值时再转换回布尔值。

```python

class IrConfigParameter(models.Model):

    """Per-database storage of configuration key-value pairs."""

    _name = 'ir.config_parameter'

    _description = 'System Parameter'

    _rec_name = 'key'

    _order = 'key'

    key = fields.Char(required=True)

    value = fields.Text(required=True)

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值