Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
6340 Lượt xem

Hello,

I need to change my slection elements after change field1 .

this code doesn't work , who has an idea how to fix it ?

_columns = {

'field1': fields.selection([('1', 'A'), ('1', 'B')], 'my filed 1'),

'field2': fields.selection([('aa', 'C'), ('bb', 'D')], 'my filed 2'),

}

def onchange_field2(self, cr, uid, ids,field1,context=None):

    lst= [('5', '5'), ('6', '6'), ('7', '7'), ('8', '8')]

    try:

        lst.remove([item for item in lst if item[0] == '5'][0])

    except IndexError as e:

        pass

    v = {'field2': lst}

    return {'value': v}

thank you

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Yes you can not change using onchage of selection field value. It the collection of static value. you only used those value for selection which you had been define while creating selection field.

Thank you.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Sorry but selection fields doesn't allow you to change the values like you are doing, they are a kind of static collection of options/values to select just one. For doing something like that you need to change your field definition to a many2one and apply a domain to the field that restrict the results to the matching records and the domain could be build and returned from an onchange

Ảnh đại diện
Huỷ bỏ

Hola Axel, una duda, estoy intentando poner un campo Selection, pero que cambie sus "valores" de acuerdo a un campo seleccionado como la periodicidad. Entiendo por lo que escribes que no es posible debido a que es una colección de valores fijos, se obtienen antes de "dibujar" la forma. Pero entonces, ¿no es posible "redibujar" ese campo en particular cuando mi otro campo cambie?

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 9 23
5069
2
thg 6 20
9609
1
thg 3 15
4705
2
thg 9 23
8964
4
thg 12 23
22408