在配置文件odoo中设置和获取默认值

Set and get default in config file odoo

在自定义模块中,我继承了 purchase.config.settings 并添加了两个字段。 如何在打开配置文件后添加字段 set_dafault_value 和 get_default_value 需要从数据库中加载我的字段中的数据。

class PurchaseConfigSettings(models.TransientModel):
_name = 'purchase.config.settings'
_inherit = 'purchase.config.settings'

purchase_reminder = fields.Selection([
                ('one_day', 'One day'),
                ('two_day', 'Two day'),
                ],default='one_day',string='Day')
purchase_email = fields.Char(string='Email')

@api.model
def get_default_purchase_reminder(self, fields):
    #???

@api.multi
def set_default_purchase_reminder(self):
    #???

答案是:

@api.model
def get_default_purchase_reminder(self, fields):
    # load your value and return it in a dict, you can load it from params (see below) or from another non Transient model
    return {'purchase_reminder': 'value1', 'purchase_email' : 'value2'}

@api.multi
def set_default_purchase_reminder(self):
    # save your value either in a non transsient model or on params like this:
    for rec in self:
        ir_config_parameter = self.env['ir.config_parameter']
        ir_config_parameter.set_param('purchase_reminder', rec.purchase_reminder)
        ir_config_parameter.set_param('purchase_email', rec.purchase_email)