当前位置: 首页 > news >正文

计算机基础知识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()

# 比较查询 gtltgte大于等于、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的条件查询&#xff1a;查询函数 exclude exclude&#xff1a;返回不满足条件的数据 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// 创建一个虚拟请求&#xff0c;当前访问的是booksMockHttpServletRequestBui…...

计算机视觉各个方向概述

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

AIGC: 关于ChatGPT中API接口调用相关准备工作

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

【Java Web学习笔记】 1 - HTML入门

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

基于windows系统使用Python对于pc当前的所有窗口的相关操作接口

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

30秒搞定一个属于你的问答机器人,快速抓取网站内容

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

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…...

抽奖送平板是骗局!!!

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

json.decoder.JSONDecodeError: Extra data: line 1 column 332 (char 331)

项目场景&#xff1a; 提示&#xff1a;扩充数据集时&#xff0c;同步修改json标签中的"imagePath"字段的值&#xff0c;出现json文件读写不一致问题。 采用open函数读写模式修改json文件字段。open(jsonF.json, r)。 问题描述 运行修改json文件报错&#xff1a;j…...

rust持续学习 COW

COW我第一次看见还以为是奶牛 很奇怪是个啥 后来了解到是clone on write 缩写的&#xff0c;大乌龙啊 这个有两种enum,一种是borrow&#xff0c;一种是own rust中&#xff0c;数据读写经常涉及到所有权 这个borrow&#xff0c;很显然&#xff0c;就是不可变借用了 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&#xff0c;IT管理者必须手动选出可用的 ip&#xff0c;这太耗时了…...

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)...

IDEA常用快捷键

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

【2024秋招】2023-10-17 金山云文档服务端二面

1 实习 1.1 讲解一下curd启动器 1.2 数据同步的过程是怎么实现的&#xff0c;同步过程中的数据一致性怎么保证的 答&#xff1a;同步过程中会记录断点&#xff0c;表示每一批同步成功时的位置&#xff0c;如果对端出现问题&#xff0c;则下一次同步会继续从这个断点后开始同…...

一种excel多线程并发写sheet的方案

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

深入了解接口测试:揭秘网络分层和数据处理!

网络分层和数据 上一小节中介绍了接口测试中一些必要重要的定义&#xff0c;这一节我们来讨论一下在学习接口测试过程中我们要关注的最重要的东西&#xff1a;网络分层和数据。 首先&#xff0c;我们来尝试理解一下&#xff0c;为什么网络是要分层的呢&#xff1f; 我们可以…...

Java并发编程

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

vue+echarts实现依赖关系无向网络拓扑结图节点折叠展开策略

目录 引言 一、设计 1. 树状图&#xff08;不方便呈现节点之间的关系&#xff0c;次要考虑&#xff09; 2. 力引导依赖关系图 二、力引导关系图 三、如何实现节点的Open Or Fold 1. 设计逻辑 节点展开细节 节点收缩细节 代码实现 四、结果呈现 五、完整代码 引言 我…...

Unity3d 灯光阴影开启,法线贴图出现BUG

URP项目打开灯光的阴影后&#xff0c;法线贴图出现BUG 解决方案&#xff1a;按照下图所示调整材质的选项即可...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章

用 Rust 重写 Linux 内核模块实战&#xff1a;迈向安全内核的新篇章 ​​摘要&#xff1a;​​ 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言&#xff0c;受限于 C 语言本身的内存安全和并发安全问题&#xff0c;开发复杂模块极易引入难以…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud&#xff08;一&#xff09;Springcloud五大组件&#xff08;二&#xff09;服务注册和发现1、Eureka2、Nacos &#xff08;三&#xff09;负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...