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)
blank

相关推荐

  • Linux安装mariadb_sql数据库安装失败

    Linux安装mariadb_sql数据库安装失败1.下载MariaDB数据库测试:当前虚拟机是否可以正确的链接外网.命令:[root@localhostsrc]#yuminstallmariadb-server2确认下载3安装完成提示4数据库启动命令: 1.启动命令[root@localhostsrc]#systemctlstartmariadb 2.重启命令[root@localhostsrc]#systemctlrestartmariadb 3.

    2022年10月17日
  • 方差及常见分布的方差计算与推导公式_超几何分布的期望和方差

    方差及常见分布的方差计算与推导公式_超几何分布的期望和方差1.介绍方差定义和性质2.离散型随机变量(01分布,二项分布,泊松分布,几何分布,超几何分布)和连续型随机变量(均匀分布,指数分布,正态分布)分布的方差计算以及推导过程,并汇总形成表格,方便查阅和记录

  • isnotempty和isnotnull_was not iterable

    isnotempty和isnotnull_was not iterable先看看isEmpty和isBlank  从效果来看,当a=””,字符中有空格时,IsEmpty是算他不为空的本质上讲:isEmpty等价于str==null||str.length==0isBlank等价于str==null||str.length==0||str.trim().length==0我们再来看非空:is…

  • 因果推断学习笔记三——Uplift模型「建议收藏」

    因果推断学习笔记三——Uplift模型「建议收藏」一、Uplift模型因果推断在互联网界应用主要是基于Upliftmodel来预测额外收益提升ROI。Uplift模型帮助商家计算人群营销敏感度,驱动收益模拟预算和投放策略制定,促成营销推广效率的最大化。同时如何衡量和预测营销干预带来的“增量提升”,而不是把营销预算浪费在“本来就会转化”的那部分人身上,成为智能营销算法最重要的挑战。举个例子????:对用户A和用户B都投放广告,投放广告后用户A的CVR(转化量/点击量)为5%,用户B的CVR为4%,那么是否就给用户A投广告呢?仅从投放广告后的结果来看是这

  • 编译原理 实验3 递归下降语法分析程序设计

    编译原理 实验3 递归下降语法分析程序设计实验目的】练习构造递归下降语法分析程序的方法,熟悉上下文无关文法的使用,加深对课堂教学的理解;提高语法分析方法的实践能力【实验要求】利用某一高级程序设计语言构造语法分析程序【具体要求】对于给定的文法G[E]E->TE’E’->+TE’|εT->F…

  • 99% 人看得懂的“熔断”以及最佳实践

    99% 人看得懂的“熔断”以及最佳实践

发表回复

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

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