This question has been flagged
4492 Views

Hello, can someone help me with this please.

I have a situation, where, when I create an object, I would like to copy values of a Many2many field (subject_ids) from course object (which has a many2one relation with the batch object) to a Many2many field(subject_ids) in batch object. 

following is the code sample:

class Subject(models.Model):

    course_ids = fields.Many2many('course', string='Course(s)')

    batch_ids = fields.Many2many('batch', string='Batch(s)')


class Course(models.Model):

     subject_ids = fields.Many2many('subject', string='Subject(s)')


class Batch(models.Model):

  course_ids = fields.Many2many('course', string='Course(s)')  

   subject_ids = fields.Many2many('subject', string='Subject(s)')  

Regards,

Narender

Avatar
Discard
Author

I tried this in the batch object but throws an error: list index out of range @api.onchange('course_id') def get_default_subject_ids(self): res = [] if len(self.course_id.subject_ids): for subject in self.course_id.subject_ids : res.append(subject.id) self.subject_ids= [0,0,res] return True debugged it and observed that it throws list index out of range @ self.subject_ids= [0,0,res]