İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
6940 Görünümler

Hi, 

This is an example:



class ModelA(models.Model):
         _name = 'model.A'

         type = fields.Boolean(string='Type')


class ModelB(models.Model):
         _name = 'model.B'

         type = fields.Selection([('1', 'One'),('2', 'Two')])

I want when i select 1 in the selection option in model B to change the default value of field 'type' in model A to true, and 2 to false

How can i do that

Thanks


Avatar
Vazgeç
En İyi Yanıt

Check out the related fields. They are fields that obtain value based on another. The advantage is that you save coding the onchange event.

https://www.odoo.com/documentation/12.0/reference/orm.html#related-fields

Avatar
Vazgeç
En İyi Yanıt

Hi, 

Both models should be linked. So we'll add a M2O field in model B like this: 

a_id = fields.Many2one('model.A')

Then consider adding a ochange like this: 

@api.onchange('type'):
def onchange_type(self):
if self.type == ' 1':
    self.a_id.type = True
else:
​    self.a_id.type = False

Hope this helps.

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Eki 25
11582
2
Tem 24
3279
1
Haz 24
5668
4
Mar 24
4190
1
Eki 23
6142