【发布时间】:2020-11-14 09:41:38
【问题描述】:
我有以下模型设置:
class User(AbstractUser):
is_student = models.BooleanField(default=False)
is_teacher = models.BooleanField(default=False)
class StudentProfile(models.Model):
student = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
teacher = models.ForeignKey('TeacherProfile', on_delete=models.SET_NULL, blank=True, null=True)
class TeacherProfile(models.Model):
teacher = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
在我看来,我希望老师将自己作为学生的老师添加到学生档案中。这是我迄今为止所拥有的:
def teach_student(request, student_id):
student = get_object_or_404(Student, student_id=student_id)
StudentProfile.objects.create(teacher=request.user.teacher, student=student)
return redirect('account:path_to_students_without_teacher')
问题:
StudentProfile.objects.create(teacher=request.user.teacher, student=student) 出现错误
Cannot assign "<StudentProfile: Student One (@student)>": "StudentProfile.student" must be a "User" instance.
问题:
关于如何允许老师将自己附加为学生的老师的任何建议?
【问题讨论】:
标签: python python-3.x django profile user-profile