首页 > 其他分享 >DRF的过滤和排序

DRF的过滤和排序

时间:2023-11-07 15:55:24浏览次数:27  
标签:0.1 price filter course 过滤 排序 DRF

搜索组件、过滤排序组件

'''
排序:
from rest_framework.filters import OrderingFilter
按id正序倒叙排序,按price正序倒叙排列
使用:http://127.0.0.1:8000/course/free/?ordering=-id
配置类:
    filter_backends=[OrderingFilter]
配置字段:
    ordering_fields=['id','price']
    
    
内置过滤:
from rest_framework.filters import SearchFilter
使用:http://127.0.0.1:8000/course/free/?search=39
按照price过滤(表自有的字段直接过滤)
配置类:
    filter_backends=[SearchFilter]
配置字段:
    search_fields=['price']
    
第三方库:django-filter 比原生自带的好用
from django_filters.rest_framework import DjangoFilterBackend
支持自有字段的过滤还支持外键字段的过滤
http://127.0.0.1:8000/course/free/?course_category=1   # 过滤分类为1 (python的所有课程)
配置类:
    filter_backends=[DjangoFilterBackend]
配置字段:
    filter_fields=['course_category']
'''

标签:0.1,price,filter,course,过滤,排序,DRF
From: https://www.cnblogs.com/piggthird/p/17815180.html

相关文章

  • Asp.Net Core webapi+net6 使用资源筛选器(过滤器) 做缓存
    写一个特性类,用来做标记[AttributeUsage(AttributeTargets.Method)]//只对方法有效publicclassResourceFilterAttribute:Attribute{}我这里使用了MemoryCache来做缓存,也可以使用字典来做,但一定要加上static,否则字典每一次请求都会new一个实例,缓存的东西就丢了private......
  • 旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
    一、介绍旅游管理与推荐系统。本系统使用Python作为主要编程语言,前端采用HTML、CSS、BootStrap等技术实现界面展示平台的开发,后端使用Django框架处理用户响应请求,并使用Ajax等技术实现前后端的数据通信。本系统主要功能有:系统分为两个角色:用户和管理员对于用户角色可以进行登......
  • 常见数组的排序算法的特点
    假设这些排序算法想得到一个升序序列,长度为n。参考https://blog.csdn.net/qq_53414724/article/details/125016223https://zhuanlan.zhihu.com/p/602971700冒泡排序冒泡排序从头开始寻找相邻的元素,找到较大的元素放于后面,一直到数组末尾。循环n-1轮,每一轮都从0开始,但结束位置......
  • sql server 排序 row_number() over(order by ) as row /
    第一种排序方法:利用row_number()over(orderbycreatetimedesc)asrow参考来源:版权声明:本文为CSDN博主「云游的二狗」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/missingshirely/article/details/44037037语法如......
  • 直播带货源码,android editText设置颜文字过滤
    直播带货源码,androideditText设置颜文字过滤 //给editText设置过滤器  InputFilterinputFilter=newInputFilter(){    //限制输入表情    Patternemoji=Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27f......
  • plsql 导入导出表数据,表结构 where 条件过滤,输入框输入 where 子查询(不需带where 关键
    plsql导入导出表数据,表结构where条件过滤,输入框输入where子查询(不需带where关键字)1.导出表结构,不含数据1.点击设置,点击导出表2.选择你要导出的表,在where字句填写1=2,点击导出即可2.导出表数据和结构在1的基础上,去掉where字句1=2,即可3.导入表结构和数据1.点击......
  • 快速排序——acwing算法基础课笔记
    课堂内容+个人思考,个人笔记,但是欢迎补充、批评、指正。快速排序基于分治的思想平均时间复杂度O(nlogn)已知数组q[] 步骤:1、确定分界点(x): (1)首元素q[l];(2)尾元素q[r];(3)中值q[(l+r)/2];(4)随机;2、调整区间将区间通过x值划分为两部分(长度不一定相等),使得第......
  • 排序算法
    1.插入类排序1.1直接插入排序classSolution{publicvoidinsertSort(int[]arr,intn){inttmp;for(inti=1;i<n;i++){//将待插入的关键字暂存于tmp中tmp=arr[i];intj=i-1;/......
  • Django动态创建表模型,并使用drf
    序列化器fromrest_frameworkimportserializersclassMySerializer(serializers.ModelSerializer):"""序列化器"""classMeta:model=None#可以设置为None,动态生成之后,再通过反射来重新设置。fields='__all__'......
  • js日期排序
    letdata=[{id:2,time:'2019-04-2610:53:19'},{id:4,time:'2019-04-2610:51:19'},{id:1,time:'2019-04-2611:04:32'},{id:3,time:'2019-04-2611:05:32'}]//property是你需要排序传入的key,bol为tru......