Help

0

How to set many2one domain based on many2many field in odoo

Avatar
Haresh Kansara

Hello All,

i want to set domain on Many2one field based on Many2one's sub Many2many field. 

i have one Many2one field(A) and this field has Many2many field, and i have another Many2one field(B), i want to filter field B record based on field A's sub many2many field's record.

field B is of model(a.a) and A's many2many sub field model is a.a so how to do this.


 

Avatar
Discard
1 Answer
1
Avatar
Rakesh Vadeghar
Best Answer

try this

@api.onchange('your_m2m_field')
def _get_product_domain(self):
self.ensure_one()
self.product_id = False
products = self.your_m2m_field.mapped('product_id').mapped('id') #you rewrite this line as per your requirement
if products:
return {'domain':{'product_id':[('id', 'in', products)]}}
else:
return {'domain':{'product_id':[('id', 'in', [])]}}
Avatar
Discard