跳至內容
選單
此問題已被標幟
2 回覆
6523 瀏覽次數

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


頭像
捨棄
最佳答案

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

頭像
捨棄
最佳答案

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.

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
7月 24
2453
1
6月 24
4969
4
3月 24
3361
1
10月 23
5328
1
10月 23
10644