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能不能写出来??

请帮忙看看

阅读 4k
1 个回答
Student.objects.filter(claxx__school__name='北大').distinct()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题