How to change settings on module installation?

2019-08-11 02:49发布

问题:

I want to change a value in the settings of sale.config.settings. I found this way to do it. But I would like to use the api of Odoo v8. Is that possible? All the examples I found in the source code are using osv.osv_memory

回答1:

xml ===================

<?xml version="1.0"?>
<openerp>
 <data>
       <function model="my.model.init" name="_init_settings" />

 </data>
</openerp>

python ======================

from openerp import api, models
class my_model_init(models.TransientModel):

    _name = ''my.model.init"
    @api.multi
    def _init_settings(self):
        sale_settings_pool = self.env['sale.config.settings']
        sale_settings_id = sale_settings_pool.create({'group_route_so_lines':True})
        sale_settings_obj = sale_settings_pool.browse(sale_settings_id)
        sale_settings_obj.execute()  # this call is actually changes the setting, you're missing this step.
        return True