DRF全部查询基础示例

  1. from django.db.models import Q, F, Sum, Avg, Count, Min, Max
  2. from rest_framework.response import Response
  3. from rest_framework.views import APIView
  4. class ShowView(APIView):
  5. def get(self, request):
  6. # 查询年龄等于19的数据
  7. user = User.objects.filter(age=19)
  8. print(user)
  9. user_obj = UserSer(user, many=True)
  10. return Response(user_obj.data)
  11. # 查询全部数据
  12. user = User.objects.all()
  13. print(user)
  14. user_obj = UserSer(user, many=True)
  15. return Response(user_obj.data)
  16. # 查询年龄等于19的数据的个数
  17. user = User.objects.filter(age=19).count()
  18. print(user,'--------------------------------')
  19. return Response('ok')
  20. # 查询年龄不等于19的全部数据
  21. user = User.objects.exclude(age=19)
  22. print(user)
  23. user_obj = UserSer(user, many=True)
  24. return Response(user_obj.data)
  25. # 查询一个字段是否包含要查询的关键字
  26. user = User.objects.filter(classrooms__address__contains='庆')
  27. print(user)
  28. user_obj = UserSer(user, many=True)
  29. return Response(user_obj.data)
  30. # startswith,endswith 以指定值开头或结尾
  31. user = User.objects.filter(classrooms__address__startswith='昌')
  32. print(user)
  33. user_obj = UserSer(user, many=True)
  34. return Response(user_obj.data)
  35. user = User.objects.filter(classrooms__address__endswith='区')
  36. print(user)
  37. user_obj = UserSer(user, many=True)
  38. return Response(user_obj.data)
  39. # 查询一个字段是否为空
  40. user = User.objects.filter(age__isnull=False)
  41. user_obj = UserSer(user, many=True)
  42. return Response(user_obj.data)
  43. # 范围查询
  44. # in 在范围内 range 相当于between...and...
  45. user = User.objects.filter(age__in =[ 1, 13,18, 19, 22])
  46. user_obj = UserSer(user, many=True)
  47. return Response(user_obj.data)
  48. user = User.objects.filter(age__range=[10, 20])
  49. user_obj = UserSer(user, many=True)
  50. return Response(user_obj.data)
  51. # ⽐较查询:
  52. # gt      ⼤于
  53. # gte     ⼤于等于
  54. # lt      ⼩于
  55. # lte     ⼩于等于
  56. # exclude  不等于
  57. # F对象和Q对象
  58. # ⽐较两个字段对象之间的关系⽤F对象。(F对象可以进⾏运算)
  59. user = User.objects.filter(age__gte=F('hight'))
  60. user_obj = UserSer(user, many=True)
  61. return Response(user_obj.data)
  62. user = User.objects.filter(age__gte=F('hight') * 2)
  63. user_obj = UserSer(user, many=True)
  64. return Response(user_obj.data)
  65. class HightsView(APIView):
  66. def get(self, request):
  67. user_obj = User.objects.filter(Q(hight__gte=150) and Q(hight__lte=170) | Q(age__lt=20))
  68. ser = UserSer(user_obj, many=True)
  69. return Response(ser.data)
  70. # 聚合函数
  71. # 使⽤aggregate()过滤器调⽤聚合函数。聚合函数包括:Avg 平均,Count 数量,Max 最⼤,
  72. # Min 最⼩,Sum 求和
  73. user = User.objects.aggregate(sum=Sum('age'))
  74. print(user)
  75. return Response('ok')
  76. user = User.objects.aggregate(avg=Avg('age'))
  77. print(user)
  78. return Response('ok')
  79. user = User.objects.aggregate(count=Count('age'))
  80. print(user)
  81. return Response('ok')
  82. user = User.objects.aggregate(min=Min('age'))
  83. print(user)
  84. return Response('ok')
  85. user = User.objects.aggregate(max=Max('age'))
  86. print(user)
  87. 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. JDBC中文乱码问题

    解决JDBC中文数据存入数据库乱码问题 ?useUnicode=true&characterEncoding=utf-8

  2. [OpenCV实战]22 使用EigenFaces进行人脸重建

    目录 1 背景 1.1 什么是EigenFaces? 1.2 坐标的变化 2 面部重建 2.1 计算新面部图像的PCA权重 2.2 使用EigenFaces进行面部重建 3 参考 在这篇文章中,我们将 ...

  3. python之路27 单例模式实现方式、pickle模块、选课系统目录搭建

    单例模式实现的多种方式 单例1:(提前定义一个名字) class C1: __instance = None def __init__(self,name,age): self.name = name ...

  4. (17)go-micro微服务Prometheus监控

    目录 一 Prometheus监控介绍 1.微服务监控系统promethues介绍 2.微服务监控系统promethues工作流程 二 Prometheus监控重要组件和重要概念 1.微服务监控系统p ...

  5. 腾讯出品小程序自动化测试框架【Minium】系列(三)元素定位详解

    写在前面 昨天转发这篇文章时,看到群里有朋友这样说: 这么卷吗?这个框架官方已经不维护了. 姑且不说卷不卷的问题,要是能卷明白,别说还真不错: 不维护又怎样?我想学习,想会,分享给很期待这系列的文章的 ...

  6. angular基础之单向绑定,双向绑定以及数据绑定失效的问题

    单向绑定 事件绑定: <input (keyup)="inputChange($event)" /> 属性绑定: <input [value]="inp ...

  7. 04HDFS简介

    HDFS简介 一.什么是HDFS HDFS全称是Hadoop Distributed File System,简称HDFS.这是一个分布式文件系统,当数据规模大小超过一台物理计算机的存储能力时,就有必 ...

  8. Phi的反函数

    P4780 Phi的反函数 Phi(\(\varphi\) )定义 \(\varphi(n)\) 代表从1-n所有与n互质的数的个数 求\(\varphi(n)\) 普通求法: 首先将n唯一分解为 \ ...

  9. spring-security 解决

    引入依赖 <dependency> <groupId>org.springframework.security</groupId> <artifactId&g ...

  10. C#汉字转拼音(Microsoft.PinYinConverter)

    1. NuGet程序包 Microsoft.PinYinConverter 2. 使用方法 var chineseChar = new ChineseChar('中'); var pyStr = ch ...