This question has been flagged
1 Reply
6328 Views

hi all,

how i can add filter (domain) for a field with onchange of another field


1) field1: a Many2one field select a value (its a Transient field if i can add as Many2one)

2) field2: another Many2one field set filter to select as selected in field1


regards

Avatar
Discard
Best Answer

Hi,
You can add a domain based on the onchange of another field as shown below.

@api.onchange(‘field1’)
def _onchange_field1(self):
    return {'domain': {field_2: [(‘field1’, ‘=’, field1.id)]}}

Here you can change condition based on your scenario.
Regards,

Avatar
Discard

this is deprecated in odoo14

Author

@Niyas Raphy

then what is implemented, please can you show us, this will help a lot.

As Niyas Raphy pointed out, @api.onchange returning a domain is deprecated in v14 (working for now, but logs a warning message). For a simple domain filter like this, use the domain attribute on the field in the form view.

<field name="field1"/>

<field name="field2" domain="[('field1', '=', field1)]"/>