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查询的更多相关文章

  1. django-drf框架中排序和查询组件

    0910自我总结 django-drf框架中排序和查询组件 一查询相关 1.模糊查询 1.导入模块组件 from rest_framework.filters import SearchFilter ...

  2. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  3. UWP 律师查询 MVVM

    APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...

  4. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  5. ASP.NET Aries 入门开发教程4:查询区的下拉配置

    背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...

  6. ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区

    前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...

  7. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  8. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

  9. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  10. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

随机推荐

  1. [R语言] ggplot2入门笔记3—通用教程如何自定义ggplot2

    通用教程简介(Introduction To ggplot2) 代码下载地址 以前,我们看到了使用ggplot2软件包制作图表的简短教程.它很快涉及制作ggplot的各个方面.现在,这是一个完整而完整 ...

  2. [R语言] ggplot2入门笔记4—前50个ggplot2可视化效果

    文章目录 通用教程简介(Introduction To ggplot2) 4 ggplot2入门笔记4-前50个ggplot2可视化效果 1 相关性(Correlation) 1.1 散点图(Scat ...

  3. Nexus私有maven库部署和使用

    原文地址:Nexus私有maven库部署和使用 - Stars-One的杂货小窝 前段圣诞节前后,Jitpack网站突然崩溃了,无法下载依赖,然后过了一个星期才解决了,好在没啥紧急的Android开发 ...

  4. Add All&shuffle-sort(List)

    Add All&shuffle Collections常用功能 java.utils.collections是集合工具类,用来对集合进行操作.部分方法如下︰ public static < ...

  5. Java 进阶P-8.7+P-8.8

    异常遇到继承 异常声明遇到继承关系 当覆盖一个函数的时候,子类不能声明抛出比父类的版本更多的异常.因为我们有可能拿着子类的对象当作父类的对象来看待(向上造型),在通过父类的变量去调用子类的函数的时候, ...

  6. MATLAB人工神经网络ANN代码

      本文介绍基于MATLAB实现人工神经网络(ANN)回归的详细代码与操作. 目录 1 分解代码 1.1 循环准备 1.2 神经网络构建 1.3 数据处理 1.4 模型训练参数配置 1.5 神经网络实 ...

  7. Spring Boot启动时执行初始化操作三种方法分享

    @PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数.但由于该函数执行时,其他Sp ...

  8. 在Flask中构建API接口的相关概念

    在Flask中构建API接口的相关概念 重定向行为 斜杠 以下两个路由的不同之处在于是否使用尾部的斜杠. 第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠结尾的URL时,Fla ...

  9. Gateway服务网关 (入门到使用)

    Gateway服务网关 Gateway也要作为微服务注册到nacos中 Zuul也是网关但比较老是一种阻塞式编程:Spring Cloud Gateway 是 Spring Cloud 的一个全新项目 ...

  10. JAVA虚拟机08--垃圾回收--HotSpot的算法实现细节

    1 stop the world 2 减少stop the world的时间-OopMap 3 OopMap数据结构的维护-安全点-安全区域 3.1安全点 3.2在垃圾回收时如何让所有线程到达最近的安 ...