Using the on_change method, I am trying to send default values to the one2many field using the concept of (0,0, {list values}, even there it works fine, but inside this object there is one more many field to which I must also send values for implementations. My code uses the same concept (0,0, {list values}, but I did not get success.
could you help me?
Attached Code Snippet
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 a single field that is inside the labatorios_ids field, which is also equal to a number.
Other models expand
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 the help!
source
share