大家好,又见面了,我是你们的朋友全栈君。
多表查询—跨关联关系的查询
Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
上实战训练——更直观理解:
(得到的都是QuerySet型数据!)
from django.http import HttpResponse
from .models import Department, Student, Course, Stu_detail
def add_user(request):
# 1.查询学院名为‘北大’的学生的信息 (注意是两个下划线,可以获取到其对应的属性)
s_all = Student.objects.filter(department__d_name='北大')
print(s_all)
# 它还可以反向工作。若要引用一个“反向”的关系,只需要使用该模型的小写的名称!!!
# 2.查询学生名字中包含'小'的学生的学院信息
d_all = Department.objects.filter(student__s_name__contains='小')
print(d_all)
# 3.查询学号为1的学生的所有的课程
c_all = Course.objects.filter(student__s_id=1)
print(c_all)
# 4.查询报了课程3的所有学生
stu_all = Student.objects.filter(course__c_id=3)
print(stu_all)
# 5.查询报了'python'课程的学生的所属学院的信息
cou_all = Department.objects.filter(student__course__c_name='python')
print(cou_all)
return HttpResponse("插入数据成功!")
❤️可以扫码关注本人公众号——任何问题都可在公众号提问(定时有专人解答);并且不定时更新干货文。欢迎关注哦!❤️
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138196.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...