我有层次关系的模型:
class School(models.Model):
name = models.CharField()
class Class(models.Model):
school = models.ForeignKey(School)
class Student(models.Model):
class = models.ForeignKey(Class)
我想检索与某些School
相关的每个Student
对象。
我通常是这样做的:
the_school = School.objects.get(name='Springfield Elementary School')
students = Student.objects.filter(class__school=the_school)
但是这个方法需要两个模型来查找(School
和Student
),这似乎有些不必要。。。对我来说。
因此,我尝试使用Django内置的相关管理器进行单行查询:
students = School.objects.get(name='...').class_set.student_set.all()
# or
students = School.objects.get(name='...').class_set.all().student_set.all()
…但没用。你知道吗
如何从给定的School
对象进行向下引用的查询?
还是有更好的解决办法?你知道吗
可以使用
class__school__name
作为筛选器参数:相关问题 更多 >
编程相关推荐