计算机基础知识63
Django的条件查询:查询函数
exclude
exclude:返回不满足条件的数据
res = Author.objects.exclude(pk=1) print(res) # <QuerySet [<Author: Author object (2)>, <Author: Author object (3)>]>
order_by
1、按照 id 升序排序
res = Author.objects.all().order_by('id') print(res) # <QuerySet [<Author: Author object (1)>, <Author: Author object (2)>, <Author: Author object (3)>]>
2、按照id降序排序
res = Author.objects.all().order_by('-id') print(res) #<QuerySet [<Author: Author object (3)>, <Author: Author object (2)>, <Author: Author object (1)>]>
条件查询( 判断条件名/模糊查询/范围查询/比较查询 /日期查询)
条件格式:
模型类属性名__条件名=值
表中数据:
# 判断条件名:exact
res = Book.objects.get(id__exact=1) print(res) #西游记
# 模糊查询:
1、包含 contains
res = Book.objects.filter(name__contains='红楼') print(res) # <QuerySet [<Book: 红楼梦>]>
2、以什么开头 starswith
res=AuthorDatail.objects.filter(telephone__startswith='198').values('author__name') print(res)
3、以什么结尾 endswith
res=AuthorDatail.objects.filter(telephone__endswith='12').values('author__name') print(res)
4、以什么开头,不区别大小写istartswith
res=AuthorDatail.objects.filter(telephone__istartswith='198').values('author__name') print(res)
5、以什么结尾,不区别大小写 iendswith
res=AuthorDatail.objects.filter(telephone__iendswith='12').values('author__name') print(res)
# 空查询: 是否为空 isnull
# 查询书名不为空的图书 res = Book.objects.filter(name__isnull=False) print(res) #<QuerySet [<Book: 西游记>, <Book: 红楼梦>, <Book: 三国演义>]>
# 范围查询
1、或 in
# 年龄在十八或40的,或 res = models.UserInfo.object.filter(ageage__in=[18,40]).all() print(res)
2、之间range
# 年龄在十八到40的,之间 res = models.UserInfo.object.filter(age__range=[18,40]).all()
# 比较查询 gt、lt、gte大于等于、lte小于等于
res = models.UserInfo.object.filter(age_gt=38).all() age__gt=1---大于 age__lt=1---小于 age__gte=1---大于等于 age__lte=1---小于等于
# 日期查询:year、month、day、week_day、hour、minute、second对日期时间类型
bpub_date = models.DateTimeField(auto_now=True,auto_now_add=True,null=True) # 查询1980年发表的图书。 list = BookInfo.objects.filter(bpub_date__year=1980) # 查询1980年1月1日后发表的图书。 list = BookInfo.objects.filter(bpub_date__gt=date(1990,1,1))
f对象
之前的查询都是对象的属性与常量值比较,两个属性怎么比较呢? 答:使用F对象
语法如下:from django.db.models import F
f(属性名)
1.查询卖出数大于库存数的书籍:
from django.db.models import F res = models.Book.objects.filter(maichu__gt=F('kucun')) print(res)
2、将所有书籍的价格提升500块:
from django.db.models import F res = models.Book.objects.update(price=F('price') + 500) print(res)
3、将所有书的名称后面加上 ' 爆款 ' 两个字:
from django.db.models.functions import Concat #拼接字符串 from django.db.models import Value res = models.Book.objects.update(title=Concat(F('title'), Value('爆款'))) print(res) # models.Book.objects.update(title=F('title') + '爆款') # 所有的名称会全部变成空白 """在操作字符类型的数据的时候 F不能够直接做到字符串的拼接"""
q对象
1、多个过滤器逐个调用表示逻辑与关系,同sql语句中where部分的and关键字
# 查询阅读量大于20,并且编号小于3的图书 list=BookInfo.objects.filter(bread__gt=20,id__lt=3) 或 list=BookInfo.objects.filter(bread__gt=20).filter(id__lt=3)
2、如果需要实现逻辑或or的查询,需要使用Q()对象结合|运算符
语法如下: Q(属性名__运算符=值)
# 查询阅读量大于20的图书 from django.db.models mport Q list = BookInfo.objects.filter(Q(bread__gt=20))
3、Q对象可以使用&、|连接,&表示并且,|表示或
# 查询阅读量大于20,或编号小于3的图书,只能使用Q对象实现 from django.db.models mport Q list = BookInfo.objects.filter(Q(bread__gt=20) | Q(pk__lt=3))
4、Q对象前可以使用~操作符,表示非not
# 查询编号不等于3的图书 from django.db.models mport Q list = BookInfo.objects.filter(~Q(pk=3))
5、exclude() 也是取反
# 查询编号不等于3的图书 list = BookInfo.objects.exclude(id=3) list = BookInfo.objects.exclude(id__exact=3)
聚合函数
使用aggregate()过滤器调用聚合函数
1、聚合函数包括:Avg,Count,Max,Min,Sum,被定义在django.db.models中
# 查询图书的总阅读量 from django.db.models import Sum list = BookInfo.objects.aggregate(Sum('bread'))
注意aggregate的返回值是一个字典类型,格式如下:
{'属性名__聚合类小写':值} # {'bread__sum':3}
2、使用count时一般不使用aggregate()过滤器
# 查询图书总数。 list = BookInfo.objects.count()
注意count函数,返回值是一个数字
今日思维导图:
相关文章:

计算机基础知识63
Django的条件查询:查询函数 exclude exclude:返回不满足条件的数据 res Author.objects.exclude(pk1) print(res) # <QuerySet [<Author: Author object (2)>, <Author: Author object (3)>]> order_by 1、按照 id 升序排序 res …...

springboot虚拟请求——测试
springboot虚拟请求 表现层测试 web环境模拟测试 虚拟请求状态匹配——执行状态的匹配 Testvoid testStatus(Autowired MockMvc mvc) throws Exception { // //http://localhost:8080/books// 创建一个虚拟请求,当前访问的是booksMockHttpServletRequestBui…...

计算机视觉各个方向概述
计算机视觉发展很长时间了,由传统的计算机视觉到现在如火如荼的计算机视觉多模态,有很多的方向,每一个方向都是一个研究门类,有些已经比较成熟,有些还处于一个开始的阶段,相对于文本语言的处理,…...

AIGC: 关于ChatGPT中API接口调用相关准备工作
ChatGPT之API接口相关 通过页面和GPT交流获取信息相比直接调用GPT的API而言是非常有限的 页面上的GPT是比较封闭的,而且只允许我们去输入文本的信息 我们需要借助GPT的API开发来激发AI工具的无限可能,实现更多个性化需求 1 )使用API 使用A…...

【Java Web学习笔记】 1 - HTML入门
项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/html 零、网页的组成 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片视频等。 CSS样式是表现。就像网页的外衣。比如,标题字体、…...

基于windows系统使用Python对于pc当前的所有窗口的相关操作接口
对于windows系统的电脑使用Python可以对其当前的窗口进行宏观的查询等操作 派生博客1:python对pc的窗口进行操作(windows) 派生博客2python获取当前pc的分辨率(windows) 派生博客3使用uiautomation模块来对基于windows系统的pc中的前端界面进行自动化测试(查找控件ÿ…...

30秒搞定一个属于你的问答机器人,快速抓取网站内容
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 文章目录 简介运行效果GitHub地址 简介 爬取一个网站的内容,然后让这个内容变成你自己的私有知识库,并且还可以搭建一个基于私有知识库的问…...

JPA数据源Oracle异常记录
代码执行异常 ObjectOptimisticLockingFailureException org.springframework.orm.ObjectOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleSta…...

抽奖送平板是骗局!!!
在街上被派传单,然后扫了码抽奖中了平板,被领到卖电器门店兑奖。他们给我在宜嘉商城上充值4980,我现场给他们付了4980元,签了他们的业务办理单,上面有违约者赔款30%违约金字样。我领走了荣耀畅玩40plus手机一台。第二天…...

json.decoder.JSONDecodeError: Extra data: line 1 column 332 (char 331)
项目场景: 提示:扩充数据集时,同步修改json标签中的"imagePath"字段的值,出现json文件读写不一致问题。 采用open函数读写模式修改json文件字段。open(jsonF.json, r)。 问题描述 运行修改json文件报错:j…...

rust持续学习 COW
COW我第一次看见还以为是奶牛 很奇怪是个啥 后来了解到是clone on write 缩写的,大乌龙啊 这个有两种enum,一种是borrow,一种是own rust中,数据读写经常涉及到所有权 这个borrow,很显然,就是不可变借用了 own就是可以写…...

【计算机网络】14、DHCP
文章目录 一、概述1.1 好处 二、概念2.1 分配 IP2.2 控制租赁时间2.3 DHCP 的其他网络功能2.4 IP地址范围和用户类别2.5 安全 三、DHCP 消息3.1 DHCP discover message3.2 DHCP offers a message 如果没有 DHCP,IT管理者必须手动选出可用的 ip,这太耗时了…...

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现
目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)...

IDEA常用快捷键
快捷键功能tab接受选择–选择的名称将覆盖带插入符号右侧的其它名称–而如果按shift或者enter,光标右边的内容会保留Ctrlshift空格智能匹配–查找当前上下文的方法和变量Ctrld对比文件–选中需要对比的文件shift滚动水平滚动Ctrlaltl格式化Ctrlk提交Ctrlaltz回滚类C…...

【2024秋招】2023-10-17 金山云文档服务端二面
1 实习 1.1 讲解一下curd启动器 1.2 数据同步的过程是怎么实现的,同步过程中的数据一致性怎么保证的 答:同步过程中会记录断点,表示每一批同步成功时的位置,如果对端出现问题,则下一次同步会继续从这个断点后开始同…...

一种excel多线程并发写sheet的方案
一、背景 有一次项目的需求要求导出excel,并且将不同的数据分别写到不同的sheet中。 二、 方案概述 首先一开始使用easyexcel去导出excel,结果发现导出时间需要3秒左右。于是想着能不能缩短excel导出时间,于是第一次尝试使用异步线程去查询数…...

深入了解接口测试:揭秘网络分层和数据处理!
网络分层和数据 上一小节中介绍了接口测试中一些必要重要的定义,这一节我们来讨论一下在学习接口测试过程中我们要关注的最重要的东西:网络分层和数据。 首先,我们来尝试理解一下,为什么网络是要分层的呢? 我们可以…...

Java并发编程
进程和线程 进程即程序的一次执行过程,各个进程之间是独立的。线程是更小的单位,一次进程中,可能会有多个线程,可能会相互影响,各个线程有自己的程序计数器,虚拟机栈和本地方法栈,同时共同使用…...

vue+echarts实现依赖关系无向网络拓扑结图节点折叠展开策略
目录 引言 一、设计 1. 树状图(不方便呈现节点之间的关系,次要考虑) 2. 力引导依赖关系图 二、力引导关系图 三、如何实现节点的Open Or Fold 1. 设计逻辑 节点展开细节 节点收缩细节 代码实现 四、结果呈现 五、完整代码 引言 我…...

Unity3d 灯光阴影开启,法线贴图出现BUG
URP项目打开灯光的阴影后,法线贴图出现BUG 解决方案:按照下图所示调整材质的选项即可...

c语言:模拟实现atoi函数
atoi函数的功能和用法: 主要功能:将字符串转换为整数。例如,将字符类型的“123”转换为整数123. #include <stdio.h> #include <stdlib.h>int main() {char str[] "123";int num atoi(str);printf("Converted …...

Docker 使用心得
创建一个docker 镜像,相关运行代码,放在docker镜像文件同级, pm2 不能与 docker一起使用() # node 服务docker FROM node:10.16.3LABEL author"sj"RUN mkdir -p /var/nodeCOPY ./node /var/nodeWORKDIR /va…...

Nacos 架构原理
基本架构及概念 服务 (Service) 服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。Nacos 支持主流的服务生态,…...

尝试修改vim光标的思路
尝试修改vim光标,失败 想让vim的光标在不同模式下显示不同样式 尝试了很多方法,但是没有作用 " Set cursor shape and color if &term ~ "xterm"" INSERT modelet &t_SI "\<Esc>[6 q" . "\<Esc&…...

SpringBoot整合Activiti7——消息事件(十)
文章目录 消息事件开始事件中间事件边界事件代码实现xml文件测试流程流程执行步骤 消息事件 消息事件只有一个接收者,消息具有名字与载荷。 信息会储存在 act_ru_event_subscr 表中。 <!-- 定义消息 --> <message id"msgId1" name"msgName…...

高翔:《自动驾驶与机器人中的SLAM技术 》-Slam_in_autonomous_driving 编译过程中遇到的问题
使用的环境是ubuntu20.04 问题1.安装g2o没有问题,不过在编译整个项目工程时候报错: ”openmp_mutex.h: 30:10: fatal error: g2o/config.h: No such file or directory“: 解决办法: 只需要将/thirdparty/g2o/build/g2o下的config.h放到/…...

org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 实现密码加密 验证 代码示例
BCryptPasswordEncoder 是 Spring Security 提供的用于加密和验证密码的实现类。它使用强大的 BCrypt 散列函数来存储密码的散列值,提供了一种安全的密码存储方法。以下是一个简单的示例代码,演示如何使用 BCryptPasswordEncoder 进行密码加密和验证&…...

《微信小程序开发从入门到实战》学习三十八
4.2 云开发JSON数据库 4.2.9 条件查询与查询指令 在查询数据时,有时需要对查找的数据添加一些限定条件,只获取满足给定条件的数据,这样的查询称为条件查询。 可以在集合引用上使用where方法指定查询条件,再用get方法࿰…...

云服务器哪家便宜?亚马逊AWS等免费云服务器推荐
在这数字化的时代,云计算技术越来越广泛应用于各种场景,尤其是云服务器,作为一种全新的服务器架构正在逐渐取代传统的物理服务器,“云服务器哪家便宜”等用户相关问题也受到越来越多的关注。自从亚马逊最早推出了首个云计算服务—…...

Linux删除了大文件为什么磁盘空间没有释放?
某天,收到监控系统的告警信息,说磁盘空间占用过高,登上服务器,使用 df -h 一看,发现磁盘占用率已经 96%了: 通过查看 /usr/local/nginx/conf/vhost/xxx.conf 找到 access_log 和 error_log 的路径&#x…...