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

In purchase order lines I want to have 2 fields either readonly or not depending on the product selected.

I understand how to determine which product is selected in the onchange function, but i don't know how to make those fields readonly.

I imagine it is something like:

res = {'value': {'price_unit': price_unit or 0.0, 'name': name or '', 'product_uom' : uom_id or False}, 'readonly': {'diameter': 1}

res = {'value': {'price_unit': price_unit or 0.0, 'name': name or '', 'product_uom' : uom_id or False}, 'attrs': {'diameter':[('readonly', True)],}}

But neither of these lines of code make the field diameter on the purchase order line read only.

What am I missing?

الصورة الرمزية
إهمال
الكاتب

Anything new on how to update field attributes in python rather than XML?

أفضل إجابة

You should write attrs in .xml.

Try this:

<field name="field_name" attrs="{'readonly':[('field', 'operator', value)]}"

الصورة الرمزية
إهمال
الكاتب

Thank you for the suggestion, I was hoping to keep it all in the .py

Is there a way to change the attributes in the .py or can they only be set in the .xml?

Hello everyone, how about using node.set? is it possible!

Suppose I have many2one field "demo_field" and I have two groups "demogroup1","demogroup2" then for demo1 group I want demo_field as default functionality of many2one field and for demogroup2 demo_field is readonly then what can I do?

Can set the attribute as following?

<field name="field_name" attrs="{'readonly':[('m2o_field.id', 'operator', value)]}"/>

الكاتب أفضل إجابة

Thank you for the suggestion, I was hoping to keep it all in the .py

Is there a way to change the attributes in the .py or can they only be set in the .xml?

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

Check this https://www.odoo.com/forum/help-1/question/how-to-extend-fields-selection-options-without-overwriting-them-21529

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
45
أبريل 23
83874
1
مايو 25
39239
2
يوليو 20
36621
2
أكتوبر 17
16758
0
مارس 15
10734