django 三表关联查询

class School(models.Model):
    name = models.CharField(max_length=10)class Claxx(models.Model):
    name = models.CharField(max_length=10)
    school = models.ForeignKey(School, related_name='claxxes')class Student(models.Model):
    name = models.CharField(max_length=10)
    claxx = models.ForeignKey(Claxx, related_name='stues')

    def __str__(self):
        return self.name

学校--班级--学生,三张表

北大

实验1班
        小明,小红
实验2班
        小王,小吴

怎么查询“北大里面所有学生”?

我的简单想法是,先查询北大下面的所有班级,然后遍历每个班级,得到所有的学生

有没有其他的办法,比如用annotate、aggregate能不能写出来??

请帮忙看看


喵喔喔
浏览 1387回答 2
2回答

忽然笑

Student.objects.filter(claxx__school__name='北大').distinct()

莫回无

Student.objects.filter(claxx__school__name='北大').distinct()
打开App,查看更多内容
随时随地看视频慕课网APP