Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
7141 Tampilan

Hi

I am trying to save a many2one field value in settings. But it is not saving, after refreshing the page the field value is set to false.

This is my code:

partner = fields.Many2one('res.partner')

@api.model
def get_values(self):
  res = super(Partner, self).get_values()
  res['partner'] = self.env['ir.config_parameter'].sudo().get_param(
      'projectxyz.partner.id')
  return res

@api.model
def set_values(self):
  res = super(Partner, self).set_values()
  self.env['ir.config_parameter'].sudo().set_param('projectxyz.partner',
                                                    self.partner.id)
  return res

Avatar
Buang
Jawaban Terbai

Hi,

Try the following code


@api.model
def get_values(self):
  res = super(ResConfigSettings, self).get_values()

  params = self.env['ir.config_parameter'].sudo()
  partner = params.get_param('partner', default=False)
  res.update(
      partner=int(partner),
  )
  return res

@api.multi
def set_values(self):
  super(ResConfigSettings, self).set_values()
  self.env['ir.config_parameter'].sudo().set_param("partner", self.partner.id)

Regards

Avatar
Buang
Penulis

Thanks this works for me

Jawaban Terbai

1) Make sure you inherit model with  'res.config.settings' if not you have to override create/write instead of get_values/set_values

2) If you are using V12 it will handle by ORM with `config_parameter` option
     _inherit = 'res.config.settings'
   partner_id = fields.Many2one('res.partner', string='Partner', config_parameter='config.partner')


Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
3
Nov 23
17524
3
Nov 24
25170
1
Apr 23
6215
2
Des 22
6962
1
Nov 22
4114