Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
7151 มุมมอง

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

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

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

อวตาร
ละทิ้ง
ผู้เขียน

Thanks this works for me

คำตอบที่ดีที่สุด

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')


อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
How to track One2many field in Odoo12? แก้ไขแล้ว
3
พ.ย. 23
17533
Error: Couldn't load module web แก้ไขแล้ว
3
พ.ย. 24
25188
How I get the current ID of a record ? แก้ไขแล้ว
1
เม.ย. 23
6223
2
ธ.ค. 22
6974
1
พ.ย. 22
4122