REST framework:排序过滤器的使用

news/2024/11/16 9:23:59/文章来源:https://www.cnblogs.com/Durant0420/p/18377575

对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序

1、在setting中的REST_FRAMEWORK添加配置

'DEFAULT_FILTER_BACKENDS': (# 这个是指定使用django_filters中的过滤器来进行过滤'django_filters.rest_framework.DjangoFilterBackend',# 这个是指定使用DRF自带的排序过滤器来进行数据排序'rest_framework.filters.OrderingFilter'
),

2、在视图类中指定排序可选字段:ordering_fields:

REST framework会在请求的查询字符串参数中检查是否包含了ordering参数,如果包含了ordering参数,则按照ordering参数指明的排序字段对数据集进行排序。

  • 注意:默认升序排序,降序排序字段前添加负号,-字段
class UserView(ModelViewSet):# 指定模型类查询集queryset = UserInfo.objects.all()# 指定序列化器类serializer_class = UserInfoSerializer# 直接指定过滤字段# filterset_fields = ('name', 'email',)# 指定过滤器类filterset_class = UserInfoFilter# 指定排序的字段ordering_fields = ('age', 'id')

接口文档

 

 postman查看

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786491.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AP5160 电压2.5-100V 电流12A PWM 调光 大功率LED驱动 手电筒与摩托车照明方案

产品描述 AP5160 是一款效率高,稳定可靠的 LED 灯恒流驱动控制芯片,内置高精度比较器,固定 关断时间控制电路,恒流驱动电路等,特别适合大功率 LED 恒流驱动。 AP5160采用SOT23-6封装,通过调节外置电流检测的电阻值来设置流过LED 灯的电流,从而设置LED灯的亮度,外驱 MOS…

解决方案 | VS2022 社区版 获取工具和功能找不到visual stdio安装程序的终极解决办法

首先这是一种解决方法: https://blog.csdn.net/Wysnbb/article/details/124588395其次,如果上面方法解决不了,那么可以重新下载vs 社区版。(不要误会,并不是下载10G+的东西) https://visualstudio.microsoft.com/zh-hans/vs/community/下载得到:安装VisualStudioSetup.e…

折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计)

什么是 Quickwit? Quickwit 是首个能在云端存储上直接执行复杂的搜索与分析查询的引擎,并且具有亚秒级延迟。它借助 Rust 语言和分离计算与存储的架构设计,旨在实现资源高效利用、易于操作以及能够扩展到 PB 级数据量。 Quickwit 非常适合日志管理、分布式追踪以及通常为不可…

代码随想录day39 || 198 打家劫舍,213 打家劫舍||,337 打家劫舍|||

198 打家劫舍 func rob(nums []int) int {// 思路,动态规划// dp[i] 代表前下标为i能装的最大盗窃物品价值// 递推 dp[i] = max(dp[i-1], dp[i-2]+v(i)) // dp[i-1] 代表不偷物品i, dp[i-2]+v(i) 代表偷物品i,那么就不能偷i-1,因为题目要求不能相邻,所以考虑前i-2// dp[0]…

CF 做题笔记

在这个随笔中,会有笔者的一些 CodeForces 做题笔记,包括但不限于思想、解题技巧、代码实现等。CF1926G Vlad and Trouble at MIT \(\texttt{*1900}\)。TAG: \(\texttt{树形 dp}\) \(dp_{i,S,P}\) 为 \(i\) 的子树内是否存在 S 和 P 的状态。 转移方程为:当 \(s_i\) 为 C 时 …

VulNyx-Secrets

扫端口扫描80端口发现有个secrets目录 还有个注释继续扫发现http://192.168.200.11/secrets/login_form.php 有这个登录框 估计就是要爆破 username就是brad了把密码爆破出来 bradley登录完成后有跳转要我们写ip随便写个127.0.0.1 发现他只接受纯数字那我们就把ip转化成纯数字然…

(更新至 8/23) 不是暑假的暑假的不是游记的游记

假期持续更新 Day1 - 8/23 因为在学校里待不下去了,所以订的十一点多的火车,打算八点钟就出门 结果教练在家长群里发我们十二点放假,所以我爸怕我赶不上就帮忙改签到一点半了 你说的对,但是为什么改成卧铺了??? 因此因为xfg的莫名其妙原因,还是决定十点钟出来 那么十点…

C++11新特性(一):语言特性

C++11新特性 总结C++11特性时发现整个内容较多,建议查看前先查看目录。 语言特性 右值引用 右值的分类为将亡值和字面量。将亡值就是将要销毁的对象以及临时的变量,字面量就是常量。左值就是变量。 右值引用,通常使用&&表示。 // 字面量 int a = 1; // a变量,左值;…

电脑更新有什么好处和坏处,怎么更新电脑呢

电脑更新,特别是操作系统和软件的更新,带来了多方面的好处和坏处。下面分别讨论这些方面,并介绍如何进行电脑更新。 一、好处: 1.安全性增强:系统更新通常包含安全补丁,用于修复已知的安全漏洞,保护你的电脑免受恶意软件和黑客攻击。 2.性能改进:软件开发者会不断优化软…

WPF 的 await Application.Current.Dispatcher.InvokeAsync,Func 如果是Task , 等待赋值可能存在没有等待执行完成的问题

最近在检查我们组内的代码,发现好多用到await Application.Current.Dispatcher.InvokeAsync 相信好多WPF的开发都会用到 该方法做UI线程切换。但是细看里边的执行,发现了个别存在存在没有等待完成的情况 执行的结果是 i 为 null 值。 这也就说明了 执行了await Application.C…