Как добавить новую запись в таблицу "многие ко многим" в Django?

У меня есть две модели Course и Educators. Курс имеет 3 поля course_name, course_educators и course_past_educators, которые связывают преподавателей с курсами по принципу "многие ко многим". Я хочу написать функцию, чтобы каждый раз, когда в поле course_educators добавляется новая запись, эта запись копировалась в поле course_past_educators.

#models.py
#code for Educators model
class Educators(models.Model):
    educator_name=models.CharField(max_length=20,default=None)
    educator_img = models.ImageField(upload_to='educators_img',default=None)

#code for Courses model
class Course(models.Model):
    course_name = models.CharField(max_length=100)
    course_educators=models.ManyToManyField(Educators, related_name='current_educators', default=None, blank=True)
    course_past_educators=models.ManyToManyField(Educators, related_name='past_educators', default=None, blank=True)

#views.py
#This is the function I wrote so that entries into course_past_educators are automatically added when course_educators is added with another entry.
@receiver(m2m_changed, sender=Course.course_educators.through)
def create_past_educator_on_add(sender, instance, action, reverse, model, pk_set, **kwargs):
    if action == 'post_add' and reverse is False:
        currentEducators=instance.course_educators.all()
        for currentEducator in currentEducators:
            instance.course_past_educators.add(currentEducator)

Я использую админ-панель Django для добавления преподавателей, но они не добавляются в course_past_educators. Как исправить эту проблему?

Вернуться на верх