Filling a one2many inside a one2many in onchange

Viewed 737

Using an on_change method I am trying to send default values to a one2many field using the concept of (0,0, {list values}; even there it works fine but inside that one2many there is also a one2many field to which I must also send values to implement In my code the same concept of (0,0, {list values}, but I did not get success.

Could you help me?.

Attached fragment of my code

class hc(models.Model):
    _name = 'hc'
    laboratorios_ids = fields.One2many(
        string='Laboratorios', comodel_name='resullab',
        inverse_name='hc_id')

    def cargar_pool_labs(self):
        labs = []
        pool = self.env['mymodel'].sudo().search([])
        for laboratorio in pool:
            analitos = [(0, 0, {'analito': line.analito,
                                'resultado': line.resultado ,
                                'resultado2': line.resultado2 ,
                                'unidades': line.unidades })
                            for line in laboratorio.analitos_ids]
            labs.append((0,0,{
            'nombre_examen' : laboratorio.nombre_examen,
            'cups' : laboratorio.cups,
            'laboratorio_id': laboratorio.laboratorio_id,
            'analitos_ids' : analitos
            }))
        self.laboratorios_ids = labs

Note: the analitos_ids field is the one2many field that is inside the laboratorios_ids field which is also one2many.

The others models extructure

class resullab(models.Model):
    _name = 'resullab'
    analitos_ids = fields.One2many('analito','laboratorio_id',
                                   'Analitos Lab', ondelete='cascade')

class labs_analito(models.Model):
    _name = 'analito'
    laboratorio_id = fields.Many2one('laboratorios', 'Lab Parent')

Thanks for help!

2 Answers
Related