Django сигнал Невозможно назначить «3»: «StudentsEnrolledSubject.Subject_Section_Teacher» должен быть экземпляром «SubjectSectionTeacher». У меня есть Foreignkey Subject_Section_Teacher в StudentsEnrolledSubject 1006 связанные в SubjectSectionTeacher
в этой строке Subject_Section_Teacher = each.Employee_Users.id моя ошибка
У меня есть models.py
class StudentsEnrolledSubject(models.Model):
Students_Enrollment_Records = models.ForeignKey(StudentsEnrollmentRecord, related_name='+', on_delete=models.CASCADE,null=True)
Subject_Section_Teacher = models.ForeignKey(SubjectSectionTeacher, related_name='+', on_delete=models.CASCADE,null=True)
@receiver(pre_save, sender=StudentsEnrollmentRecord)
def get_older_instance(sender, instance, *args, **kwargs):
try:
instance._old_instance = StudentsEnrollmentRecord.objects.get(pk=instance.pk)
except StudentsEnrollmentRecord.DoesNotExist:
instance._old_instance = None
@receiver(post_save, sender=StudentsEnrollmentRecord)
def create(sender, instance, created, *args, **kwargs):
if not created:
older_instance = instance._old_instance
if older_instance.Courses != instance.Courses or \
older_instance.Section != instance.Section or \
older_instance.Education_Levels != instance.Education_Levels:
StudentsEnrolledSubject.objects.filter(
Students_Enrollment_Records=instance
).delete()
else:
return None
teachers = SubjectSectionTeacher.objects.filter(Sections=instance.Section,
Education_Levels=instance.Education_Levels,
Courses=instance.Courses)
for each in teachers:
StudentsEnrolledSubject.objects.create(
Students_Enrollment_Records=instance,
Subject_Section_Teacher=each.Employee_Users.id)
class SubjectSectionTeacher(models.Model):
School_Year = models.ForeignKey(SchoolYear, related_name='+', on_delete=models.CASCADE,null=True)
Education_Levels = models.ForeignKey(EducationLevel, related_name='+', on_delete=models.CASCADE,blank=True)
Courses= models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE,null=True,blank=True)
Sections= models.ForeignKey(Section, related_name='+', on_delete=models.CASCADE,null=True)
Subjects= models.ForeignKey(Subject, related_name='+', on_delete=models.CASCADE,null=True)
Employee_Users= models.ForeignKey(EmployeeUser, related_name='+', on_delete=models.CASCADE,null=True)