首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >28.多表查询——跨关联关系的多表查询

28.多表查询——跨关联关系的多表查询

作者头像
全栈程序员站长
发布2022-09-04 12:47:43
发布2022-09-04 12:47:43
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

多表查询—跨关联关系的查询

Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:

上实战训练——更直观理解:

(得到的都是QuerySet型数据!)

代码语言:javascript
代码运行次数:0
运行
复制
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("插入数据成功!")

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138196.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 多表查询—跨关联关系的查询
  • 上实战训练——更直观理解:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档