我正在进行一个培训项目,其中涉及一个使用Django 2的学校管理Web应用程序。我设置了4个模块,即School,Student,Course,Text。您可能已经猜到了,课程模型与其余模型之间存在多对多的关系。为了避免这种情况,创建了一个CourseInfo模型,该模型具有所有其他模型的外键。该模型如下所示:
class CourseInfo(models.Model):
course = models.ForeignKey(Course,related_name='courses', on_delete="Protect")
school = models.ForeignKey(School,related_name='schools', on_delete="Protect")
student = models.ForeignKey(Student,related_name='students', on_delete="Protect", required=False)
text = models.ForeignKey(Text,related_name='texts', on_delete="Protect", required=False)
我创建了一个用于创建课程的创建视图,并希望能够将学生或学校与课程详细信息相关联,而不必输入多余的信息。我在语法上遇到麻烦。
例如,一旦我创建了课程并转到课程详细信息页面。我希望能够将学生与CourseInfo模型关联,并为最终用户自动添加与该学生关联的学校。
我的主要问题是如何创建创建视图来做到这一点?也许像这样(对Django语法来说仍然是新的):
class CourseAddStudentView(CreateView):
model = models.CourseInfo
fields = ("student","school"={{students.school.id}},"course"={{courses.id}})
success_url = reverse_lazy("classes:course_detail")
当有人添加学生时,我想让页面返回到各自的课程详细信息。任何帮助(或者也许是一个链接,我可以阅读一下)都将不胜感激。