如何查询哪个学生在哪个课程中注册?还有哪个老师在教哪个课程

时间:2018-08-23 14:56:30

标签: django list

这是我的模特。 这是我的模型,我想查询哪些学生注册了哪些课程,以及哪个老师在教他们。

<Popup ... IsOpen="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsDropDownOpen}">

1 个答案:

答案 0 :(得分:0)

您需要在表之间添加关系。我建议您添加:

  • A Many To Many Relatitionship在课程和学生之间:因为一个学生可以有很多课程,而一个课程可以有很多学生注册。

    class Student(models.Model):
        student_name = models.CharField(max_length=200)
        rollnum = models.IntegerField(max_length=6)
        courses = models.ManyToMAnyField(Course, on_delete=models.CASCADE)
        def __str__(self):
            return "%s, %s" (self.student_name,self.rollnum) 

    要查询该学生(我将其实例命名为s1)课程的查询是:

    s1_courses=s1.courses.all()
    

    要查询某门课程(称为c1)注册学生的查询是:

    c1_students = c1.student_set.all()
    
  • A Many To One Relationship在老师和课程之间:因为一位老师可以教授许多课程,而一个课程只能由一位老师教授。

    class Course(models.Model):
    course_name = models.CharField(max_length=200)
    course_code = models.CharField(max_length=50)
    teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE)
    def __str__(self):
        return "%s, %s" (self.course_name,self.course_code)