Odoo добавляет записи в поле one2many, используя событие onchange дважды

В качестве кода ниже я мог бы добавить запись в поле one2many «f_12m», когда другое поле «onte» было изменено. Но проблема в том, что когда я снова меняю значение «note», он удаляет все записи поля «f_12m», а затем добавляет новую запись. Как я могу сохранить старые записи и добавить новые, не сохраняя полную модель?

f_12m = fields.One2many( 'x_app.other_model', 'oid', string= 'FieldName' )

@api.onchange( 'note' )
def _onchange_note( self ) : 
    dic_value = {}
    list_f_12m = []

    list_f_12m.append( ( 0 , 0 , {'note':self.note} ) ) 
    dic_value.update( f_12m = list_f_12m ) 
    return {'value':  dic_value }

person Adrian    schedule 27.07.2018    source источник


Ответы (1)


Пожалуйста, попробуйте код ниже

f_12m = fields.One2many( 'x_app.other_model', 'oid', string= 'FieldName' )

@api.onchange( 'note' )
def _onchange_note( self ) : 
   dic_value = {}
   list_f_12m = self.f_12m.ids
   f_12m_new = self.env['x_app.other_model'].create({'note':self.note, 'oid':self.id})
   list_f.12m.append(f_12m_new.id)
   self.f_12m = [(6,0,list_f_12m)]

Надеюсь это поможет!

person Sheliya Infotech    schedule 27.07.2018