Как установить значение для one2many поля в odoo 9? У меня есть одно2many поле login_details и его функция onchange ниже:
@api.onchange('login_details') def check_contact(self): return { 'value':{'login_details': [(6,0, [])]} }
Но на GUI это не влияет? Помогите пожалуйста
Odoo отсекает изменения значений onchange для полей o2m и m2m, как вы могли видеть по адресу:
https://github.com/odoo/odoo/blob/9.0/openerp/models.py#L6108-L6112
Вы можете прочитать там комментарий, который гласит: At the moment, the client does not support updates on a *2many field.Это утверждение неверно
At the moment, the client does not support updates on a *2many field
Чтобы заставить его работать, вам нужно будет сделать что-то вроде того, что я предложил по адресу:
https://www.odoo.com/forum/help-1/question/one2many-onchange-in-odoo-91362#answer-91400
Проверьте и попробуйте специально переопределенный метод onchange, чтобызаставить его работать
Это может помочь вам, и убедитесь, что поле login_details не только для чтения.
login_details
@api.onchange('login_details') def check_contact(self): # add your own code res=[(0, 0, {'first_field': value1, 'second_field': value2, })] self.login_details = res