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

28.多表查询——跨关联关系的多表查询多表查询—跨关联关系的查询**Django提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:**上实战训练——更直观理解:(得到的都是QuerySet型数据!)fromdjango.httpimportHttpResponsefrom.modelsimportDepartment,Student,Course,Stu_detaildefadd_u

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

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

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账号...

(0)


相关推荐

  • 云服务器和云虚拟主机的区别、利弊[通俗易懂]

    云服务器和云虚拟主机的区别、利弊[通俗易懂]虚拟主机虚拟主机是利用云技术把一台服务器划分为多个的“虚拟的主机”,划分出来的虚拟主机具有独立域名(能够独立的搭建网站)和完整的Internet服务器的功能,但是带宽和IP是共享服务器的。优势:由于是分享的服务器带宽、IP等所有在价格上分成便宜。虚拟主机一般都是配置好环境的用户能直接使用,客户在购买使用上非常方便。劣势:由于带宽时共享的,虚拟主机的带宽上是没有保障的。IP共享那么安全性…

  • ZooKeeper 常用应用场景原理详解

    ZooKeeper 常用应用场景原理详解ZooKeeper 常用应用场景原理详解,zookepper存放数据的目录结构类似于标准的文件系统格式,如果使用过window或linux就能体会到其内部的数据结构

  • 罗马时钟代码

    罗马时钟代码先看看效果图第一部分HTML页面代码<!DOCTYPEhtml><htmllang=”en”> <head> <metacharset=”UTF-8″> <metaname=”viewport”content=”width=device-width,initial-scale=1.0″> <met…

  • 一阶惯性环节的性能分析——自动控制原理基础补充(二)

    一阶惯性环节的性能分析——自动控制原理基础补充(二)以前读书的时候学习自动控制原理,就是为了考试,各种相频幅频特性题咣咣做,一点都不含糊,但是实际代表什么意义一点都不知道。现在真是发现,这个东西有用得一批。这篇文章从一阶惯性环节为切入点,对自动控制原理进行一个简单的复习。还蛮喜欢博客里面写东西的,按照自己思路,按照逻辑一点一点往下,不像发文章八股文一样。1一阶惯性环节的bode图对于这个非常常见的一阶惯性系统而言,其关键指标就是截止频率。截止频率的定义:从频域响应的角度讲,当保持输入信号的幅度不变,改变频率使输出信号降至最大值的0.707倍

  • 如何配置android的adb环境变量(jre环境变量配置)

    一、安装完AndroidStudio后会默认在其下面安装SDK1.找到文件sdk下的tools和platform-tools,并复制其路径2.打开环境变量配置3.新建系统变量,命名为Android_ADB,并将上述两个路径分别导入,中间用;隔开4.打开path变量,输入%Android_ADB%5.打开终端,输入adbversion,出现帮助信息,完成配置。二

  • Java在线考试系统(含源码)[通俗易懂]

    Java在线考试系统(含源码)[通俗易懂]本文demo下载和视频教学观看地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1076本实例介绍了在线考

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号