【发布时间】:2020-12-31 02:13:24
【问题描述】:
当创建一个新学生时,我有一个运行 post_save 的信号,该信号通过他们当前注册的课程并为他们分配课程作业的实例(用于评分)。
在users/signals.py:
@receiver(post_save, sender=Student)
def save_student_assignments(sender, instance, created, **kwargs):
if created:
all_courses = instance.enrolled_courses.all()
assignments = Assignment.objects.filter(session_link__in=all_courses)
for assignment in assignments:
StudentAssignment.objects.create(student=instance, assignment=assignment)
我已经在users/apps.py导入信号了。
如果我在 shell 中运行这个确切的代码,它将创建 StudentAssignment 对象并将它们显示给用户。
我在这里遗漏了什么没有让信号按应有的方式触发?
【问题讨论】: