Как добавить учеников в класс по учителю в один клик в 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