У меня есть модель студента:
class Student(User):
religion = models.ForeignKey(
Religion, on_delete=models.SET_NULL, null=True)
caste = models.ForeignKey(Caste, on_delete=models.SET_NULL, null=True)
date_of_birth = models.DateField(default=timezone.now)
parent_name = models.CharField(max_length=255, default=None)
address = models.CharField(max_length=255, default=None)
phone_number1 = models.CharField(
"Phone Number 1", max_length=10)
phone_number2 = models.CharField(
"Phone Number 2 (optional)", max_length=10, blank=True)
classes = models.ForeignKey(
Class, on_delete=models.SET_NULL, default=None, null=True, blank=True)
def __str__(self):
return self.first_name+" "+self.last_name
# Control model features
class Meta:
verbose_name = 'Student'
verbose_name_plural = 'Students'
И модель приема:
class Admission(models.Model):
admission_date = models.DateField()
classes = models.ForeignKey(
Class, on_delete=models.SET_NULL, null=True)
student = models.ForeignKey(
Student, on_delete=models.SET_NULL, null=True)
Также модель класса, которая принимает всю информацию о классе, в котором находится студент:
class Class(models.Model):
class_name = models.CharField(
max_length=10,
default=None
)
division_name = models.CharField(
max_length=10,
default=None
)
class_teacher = models.ForeignKey(
Teacher, on_delete=models.SET_NULL, default=None, null=True, blank=True)
institute = models.ForeignKey(
Institute, on_delete=models.SET_NULL, default=None, null=True, blank=True)
def __str__(self):
return self.class_name+" "+self.division_name+" "+self.institute.name
# Control model features
class Meta:
verbose_name = 'Class'
verbose_name_plural = 'Classes'
Я хочу добиться следующего: изменить информацию об ученике на основе модели приема. Когда я обновляю информацию о зачислении, он должен взять класс и обновить класс в модели студента на основе класса, указанного в модели зачисления. Как этого достичь?