Django中过滤的实现
2024-08-27 01:48:05
过滤模块
安装
>: pip install django-filter
注册应用:settings/dev.py
INSTALLED_APPS = [
# 列表过滤模块
'django_filters',
]
条件过滤
视图函数:course/views.py
from django_filters.rest_framework import DjangoFilterBackend
class CourseAPIView(ListAPIView):
"""课程列表接口"""
queryset = Course.objects.filter(is_delete=False, is_show=True).order_by("-orders")
serializer_class = CourseSerializer
# 条件过滤:DjangoFilterBackend
filter_backends = [DjangoFilterBackend]
# 过滤字段
filter_fields = ['course_category', ]
接口
http://127.0.0.1:8000/course/?course_category=1
排序过滤
视图函数:course/views.py
from rest_framework.filters import OrderingFilter
from .pagination import CoursePageNumberPagination
class CourseAPIView(ListAPIView):
"""课程列表接口"""
queryset = Course.objects.filter(is_delete=False, is_show=True).order_by("-orders")
serializer_class = CourseSerializer
# 排序过滤:OrderingFilter
filter_backends = [OrderingFilter]
# 过滤字段
ordering_fields = ['id', 'students', 'price']
接口
http://127.0.0.1:8000/course/?ordering=price
http://127.0.0.1:8000/course/?ordering=-price
最新文章
- PHP易混淆函数的区分方法及意义
- python _、__和__xx__的区别
- ThinkPHP的RBAC原理分析
- 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统
- 边工作边刷题:70天一遍leetcode: day 82
- codeforces343A A. Rational Resistance
- (六)6.12 Neurons Networks from self-taught learning to deep network
- docker(4):coreos+docker+rancher真厉害
- 第二百四十一天 how can I 坚持
- devexpress中用ChartControl生成柱状图
- Lucene.Net 2.3.1开发介绍 —— 二、分词(五)
- C# 制作Windows服务安装包
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介
- update and的坑
- pytesseract使用
- 软AP的实现------dhcpserver交叉编译
- CEPH s3 java sdk PUT对象并在同一个PUT请求中同时设置ACL为 Public
- 免费IPv6访问收费IPv4,校园网免流量
- 【druid 】数据库连接池-sql解析
- solr 7.7.0配置中文分词器的数据类型