Как добавить учеников в класс по учителю в один клик в Django rest framework

У меня есть модели с именами Student и Teacher. Учитель сможет видеть всех учеников через get api (имя ученика). Теперь требование состоит в том, чтобы, нажав одну кнопку сбоку от списка имен студентов, учитель мог добавить студента в свой класс. Как связать учеников с учителем в этом случае. Ведь те же ученики могут быть добавлены в другой класс другим учителем.

class Student(TimeStampAbstractModel):
    user = models.OneToOneField(User, related_name="student", on_delete=models.CASCADE)
    college_name = models.CharField(max_length=255, default="", blank=True)
    address = models.CharField(max_length=255, default="", blank=True)

    def __str__(self):
        return self.user.name

class Teacher(TimeStampAbstractModel):
    user = models.OneToOneField(User, related_name="teacher", on_delete=models.CASCADE)
    address = models.CharField(max_length=255, default="", blank=True)

    def __str__(self):
        return self.user.name

Я не могу ответить на этот вопрос полностью, но немного могу.

Если Teacher может иметь несколько школьных классов, то следует добавить третий класс:

class SchoolClass(models.Model) # or TimeStampAbstractModel ?
    teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE)
    students_in_class = models.ManyToManyField(Student)

Если Teacher может иметь только один класс, то можно просто добавить

students_in_class = models.ManyToManyField(Student)

к модели учителя.

Я бы рекомендовал вам сначала добавить тот, который соответствует потребностям вашего приложения, а затем зайти на страницу Django Admin и добавить учителя и несколько учеников, связать их вместе, и вы получите понимание того, как работает ManyToManyFields

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