Create Settings in res.config.settings and Get Stored values in Odoo

Odoo provides an easy way to create settings in which you can modify their values in Settings > General Settings.

Create setting model

Firstly, we need to define a model which inherits res_config_settings.

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

    custom_emails = fields.Char('Custom Emails', config_parameter='my_module.custom_emails')    

Create a views_res_config_settings.xml and add it to the manifest.

'data': [    


<?xml version="1.0" encoding="utf-8"?>
        <record id="res_config_settings_view_form" model="ir.ui.view">
            <field name="name">res.config.settings.view.form.inherit</field>
            <field name="model">res.config.settings</field>
            <field name="priority" eval="99"/>
            <field name="inherit_id" ref="base.res_config_settings_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//div[hasclass('settings')]" position="inside">
                    <div class="app_settings_block" data-string="My Module" string="My Module"
                        <h2>My Module Settings</h2>

                        <div class="row mt16 o_settings_container">

                            <div class="col-12 col-lg-6 o_setting_box">
                                <div class="o_setting_left_pane"/>
                                <div class="o_setting_right_pane">
                                    <label string="Email From" for="custom_emails"/>
                                    <div class="text-muted">These emails are used for sending log</div>
                                    <field name="custom_emails" widget="text"/>




Access field values stored in res.config.settings

As you see in the model’s config_parameter above, the field’s value is stored in my_module.custom_emails.

custom_emails = self.env['ir.config_parameter'].get_param('my_module.custom_emails') or '[email protected]'

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top