【发布时间】:2019-11-05 05:14:23
【问题描述】:
我希望我的标题足以确定错误是什么。
我的models.py (post_save) 中有这段代码
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,blank=True)
@receiver(post_save, sender=StudentsEnrollmentRecord)
def create(sender, instance, created, *args, **kwargs):
teachers = SubjectSectionTeacher.objects.filter(Sections=instance.Section,Education_Levels=instance.Education_Levels,Courses=instance.Courses)
for each in teachers:
if created and teachers.exists():
StudentsEnrolledSubject.objects.update_or_create(
pk=each.id,
Students_Enrollment_Records=instance,
Subject_Section_Teacher=teachers.all()
)
class StudentsEnrollmentRecord(models.Model):
Student_Users = models.ForeignKey(StudentProfile, related_name='students', on_delete=models.CASCADE, null=True)
class SubjectSectionTeacher(models.Model):
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)
当我使用Subject_Section_Teacher=teachers.first() 时,我没有收到任何错误,但这不是我想要的结果,然后我决定将其更改为Subject_Section_Teacher=teachers.all()
我只希望结果变成这样
不是这个
这是我获取/过滤数据的地方
【问题讨论】:
标签: django