djangoDRF查询
DRF全部查询基础示例
from django.db.models import Q, F, Sum, Avg, Count, Min, Max
from rest_framework.response import Response
from rest_framework.views import APIView
class ShowView(APIView):
def get(self, request):
# 查询年龄等于19的数据
user = User.objects.filter(age=19)
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# 查询全部数据
user = User.objects.all()
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# 查询年龄等于19的数据的个数
user = User.objects.filter(age=19).count()
print(user,'--------------------------------')
return Response('ok')
# 查询年龄不等于19的全部数据
user = User.objects.exclude(age=19)
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# 查询一个字段是否包含要查询的关键字
user = User.objects.filter(classrooms__address__contains='庆')
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# startswith,endswith 以指定值开头或结尾
user = User.objects.filter(classrooms__address__startswith='昌')
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
user = User.objects.filter(classrooms__address__endswith='区')
print(user)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# 查询一个字段是否为空
user = User.objects.filter(age__isnull=False)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# 范围查询
# in 在范围内 range 相当于between...and...
user = User.objects.filter(age__in =[ 1, 13,18, 19, 22])
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
user = User.objects.filter(age__range=[10, 20])
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
# ⽐较查询:
# gt ⼤于
# gte ⼤于等于
# lt ⼩于
# lte ⼩于等于
# exclude 不等于
# F对象和Q对象
# ⽐较两个字段对象之间的关系⽤F对象。(F对象可以进⾏运算)
user = User.objects.filter(age__gte=F('hight'))
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
user = User.objects.filter(age__gte=F('hight') * 2)
user_obj = UserSer(user, many=True)
return Response(user_obj.data)
class HightsView(APIView):
def get(self, request):
user_obj = User.objects.filter(Q(hight__gte=150) and Q(hight__lte=170) | Q(age__lt=20))
ser = UserSer(user_obj, many=True)
return Response(ser.data)
# 聚合函数
# 使⽤aggregate()过滤器调⽤聚合函数。聚合函数包括:Avg 平均,Count 数量,Max 最⼤,
# Min 最⼩,Sum 求和
user = User.objects.aggregate(sum=Sum('age'))
print(user)
return Response('ok')
user = User.objects.aggregate(avg=Avg('age'))
print(user)
return Response('ok')
user = User.objects.aggregate(count=Count('age'))
print(user)
return Response('ok')
user = User.objects.aggregate(min=Min('age'))
print(user)
return Response('ok')
user = User.objects.aggregate(max=Max('age'))
print(user)
return Response('ok')
djangoDRF查询的更多相关文章
- django-drf框架中排序和查询组件
0910自我总结 django-drf框架中排序和查询组件 一查询相关 1.模糊查询 1.导入模块组件 from rest_framework.filters import SearchFilter ...
- 使用TSQL查询和更新 JSON 数据
JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...
- UWP 律师查询 MVVM
APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...
- Elasticsearch 5.0 中term 查询和match 查询的认识
Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...
- ASP.NET Aries 入门开发教程4:查询区的下拉配置
背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...
- ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区
前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...
- ExtJS 4.2 业务开发(二)数据展示和查询
本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...
- 深入理解MySql子查询IN的执行和优化
IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- 【初学python】使用python连接mysql数据查询结果并显示
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
随机推荐
- [R语言] ggplot2入门笔记3—通用教程如何自定义ggplot2
通用教程简介(Introduction To ggplot2) 代码下载地址 以前,我们看到了使用ggplot2软件包制作图表的简短教程.它很快涉及制作ggplot的各个方面.现在,这是一个完整而完整 ...
- [R语言] ggplot2入门笔记4—前50个ggplot2可视化效果
文章目录 通用教程简介(Introduction To ggplot2) 4 ggplot2入门笔记4-前50个ggplot2可视化效果 1 相关性(Correlation) 1.1 散点图(Scat ...
- Nexus私有maven库部署和使用
原文地址:Nexus私有maven库部署和使用 - Stars-One的杂货小窝 前段圣诞节前后,Jitpack网站突然崩溃了,无法下载依赖,然后过了一个星期才解决了,好在没啥紧急的Android开发 ...
- Add All&shuffle-sort(List)
Add All&shuffle Collections常用功能 java.utils.collections是集合工具类,用来对集合进行操作.部分方法如下︰ public static < ...
- Java 进阶P-8.7+P-8.8
异常遇到继承 异常声明遇到继承关系 当覆盖一个函数的时候,子类不能声明抛出比父类的版本更多的异常.因为我们有可能拿着子类的对象当作父类的对象来看待(向上造型),在通过父类的变量去调用子类的函数的时候, ...
- MATLAB人工神经网络ANN代码
本文介绍基于MATLAB实现人工神经网络(ANN)回归的详细代码与操作. 目录 1 分解代码 1.1 循环准备 1.2 神经网络构建 1.3 数据处理 1.4 模型训练参数配置 1.5 神经网络实 ...
- Spring Boot启动时执行初始化操作三种方法分享
@PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数.但由于该函数执行时,其他Sp ...
- 在Flask中构建API接口的相关概念
在Flask中构建API接口的相关概念 重定向行为 斜杠 以下两个路由的不同之处在于是否使用尾部的斜杠. 第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠结尾的URL时,Fla ...
- Gateway服务网关 (入门到使用)
Gateway服务网关 Gateway也要作为微服务注册到nacos中 Zuul也是网关但比较老是一种阻塞式编程:Spring Cloud Gateway 是 Spring Cloud 的一个全新项目 ...
- JAVA虚拟机08--垃圾回收--HotSpot的算法实现细节
1 stop the world 2 减少stop the world的时间-OopMap 3 OopMap数据结构的维护-安全点-安全区域 3.1安全点 3.2在垃圾回收时如何让所有线程到达最近的安 ...