تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
6511 أدوات العرض

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
يوليو 24
2451
1
يونيو 24
4966
4
مارس 24
3357
1
أكتوبر 23
5324
1
أكتوبر 23
10638