首页 > 其他 > 详细

过滤模块

时间:2019-07-24 09:35:36      阅读:95      评论:0      收藏:0      [点我收藏+]

过滤模块

安装
>: 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

过滤模块

原文:https://www.cnblogs.com/king-home/p/11235316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!