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

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

الصورة الرمزية
إهمال
أفضل إجابة

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,

الصورة الرمزية
إهمال

this is deprecated in odoo14

الكاتب

@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)]"/>

المنشورات ذات الصلة الردود أدوات العرض النشاط
2
أبريل 23
2721
2
فبراير 25
40421
2
نوفمبر 22
2807
2
ديسمبر 21
4090
0
أكتوبر 21
2252