跨表查询:
要跨越关系,只需要跨模型的相关字段的字段名,以双下划线隔开,直到达到想要的结果为止
注意:如果之前给管理器进行了自定义命名,则在跨表查询的时候,用的就是管理器的名字,如:
若不是必要的情况,不建议给管理器命名
//满足性别为男生的,所选的课程//
Course.objects.filter(students__sex=1)
//报名了‘python’课程的学员//
Student.objects.filter(courses__name='python')
//报名了python 报名了11期的学员//
Student.objects.filter(courses__name='python', grade__num__contains='11')
//查询缴费金额小于3000的学员//
Student.objects.filter(enroll__pay__lt=3000)
//查询学员报名课程的班级有哪些//
Grade.objects.filter(student__courses__name='english').distinct()
//