Django ORM 中高级单表查询 API(2)

Python攻城师的成长————ORM查询 今日学习目标 熟悉掌握ORM语法操作 文章目录今日学习目标学习内容一、神奇的双下划线查询二、orm创建外键关系三、外键字段的增删改查四、正反向的概念五、ORM多表查询正向查询反向查询基于双下划线的跨表查询-----连表查询 学习内容 神奇的双下划线查询 orm创建外键关系 外键字段的增删改查 正反向的概念 多表查询 一、神奇的双下划线查询 # 查询价格大于200的书籍 res = models.Book.objects.filter(price__gt=200) print(res) # 阅读详情

Django ORM 中的单表查询 API(1)icon-default.png?t=N7T8https://blog.youkuaiyun.com/Python_1981/article/details/135653173        在上一篇博文中,我们探讨了 Django ORM 中单表查询 API 的基础知识,重点是 all()、filter()、get()、first() 和 last()。在本博文中,我们将深入探讨 Django ORM 中更高级的查询方法及其用法,包括 exclude()、order_by()、count()、reverse()、exists()、values()、values_list() 和 distinct()。

1、exclude() 方法

exclude() 方法用于根据特定条件从查询结果中排除对象。其工作原理与 filter() 方法类似,但会返回不符合指定条件的对象。例如
```
ret = Book.objects.exclude(price=88)
```
这将从 `Book` 表中检索价格不等于 88 的记录。

2、order_by() 方法

order_by() 方法用于根据一个或多个

《深入解析 Django ORM 复杂查询优化:如何提升 SQL 执行效率》 本文深入探讨了 Django ORM 复杂查询的优化策略,旨在提升 SQL 执行效率。文章首先指出了数据库查询中常见的性能问题,如 N+1 查询、未优化的索引等,并介绍了 Django ORM 查询的特性。随后,提出了一系列关键优化策略,包括使用 select_related() 进行 JOIN 预加载、prefetch_related() 进行多表关联优化、only() 和 defer() 限制字段查询、索引优化、annotate() 和 F() 提高计算效率,以及直接编写原生 SQL 查询。 阅读详情

相关推荐

Django的ORM常用查询操作总结

首先这里给出一个学生model: class Student(models.Model): name=models.CharField(max_length=10) sex = models.IntegerField(choices=((1,"男"),(2,"女")),default=1) birth = models.DateField(null=True) ...

Lin的博客 1万+

使用 django orm 写 exists 条件过滤实例

要用django的orm表达sql的exists子查询,是个比较麻烦的事情,需要做两部来完成 from django.db.models import Exists, OuterRef # 1. 定义子查询条件 relative_comments = Comment.objects.filter( post=OuterRef('pk'), # 注意外键关联方式:post为Comment表的字段,pk表示关联另一表主键 ) # 2. 使用annotate和filter共同定义子查询 Post.objects.annotate( # 使用exists定义一个额外字段 recent_comme

华为铁三角(AR、SR、FR)的考核指标设计

以和为核心,通过和实现协同。考核维度分为和,并随市场阶段动态调整权重。

从技术实践立足,从项目管理方法论延伸思考 2780

条码打印工具-Bartender的使用

文章目录1、安装Bartender1.解压安装包,可获得bartender2021版本和破解文本2. 双击“BarTender_2021_R1_Full_x64.exe”文件运行,勾选协议及软件安装设置3. 选择安装选项,自行选择勾选,点击Browser可更换软件安装路径4. 耐心等待软件安装完成,直接点击完成退出5. 此时会弹出提示需要激活许可证,先点击取消6. 接着将Crack夹中的“BarTend.exe”破解文件复制到软件安装目录中替换7. 再双击“serial.reg”导入注册,点击确定即可8.

暮紫的笔记本 1万+

清理异常值(MAD:绝对中位差)

清理异常数据: 中位数绝对偏差(MAD):用来描述单变量样本在定量数据中可变的一种标准 在统计学中,绝对中位差是刻画一元数据样本变化的一个鲁棒度量。由公式可以看出,其求解还算简单,给定一个数据样本集,首先求其中位数,然后求原始数据减去中位数的绝对值从而形成一个新的数据样本,再求新的数据样本的中位数即为绝对中位差。比如说有一个数据样本集X={2 3 8 7 9 6 4},这时候数据的中位数是6,原...

spider_man 1万+

AI学习记录 - transformer的位置编码的理解

先看三角函数为什么可以,我们看下三角函数的图像先提一个点:位置信息肯定是唯一的,或者是在很长的文字当中,起码重复度不会太高,x轴代表位置,y轴代表叠加上去的值1、假设只使用一个三角函数sin,我们将第2和第14两个位置输入到sin,他们的值很像,在神经网络的训练中,很容易把第2个位置和第14个位置当成是一个位置,不满足我们上面说到的要求位置唯一性。sin2sin14。

weixin_43954090的博客 1414

ESP-01S获取网络时间踩坑全记录:AT指令调试、JSON解析乱码、时区处理,一个都不能少

本文详细记录了使用ESP-01S WIFI模块获取网络时间的完整过程,包括AT指令调试、JSON解析乱码处理以及时区转换等关键步骤。通过实战案例和代码示例,帮助开发者避开常见陷阱,实现稳定的网络时间同步功能。

weixin_30460489的博客 295

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3686

【Altium designer】如何添加过孔阵列

按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; .

夜半少年的博客 2万+

高通拨号流程介绍

本文介绍了高通平台(如SDX55)中APSS(A7处理器)与ModEM(Q6处理器)间的通信机制。

四儿家的小祖宗的博客 1068

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 解决Windows系统443端口占用导致Steam商店无法打开的方法
下一篇: Django ORM 模糊查询实例解析
python_198
博客等级 码龄3年 359粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python_198

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值