首页 > 其他 > 详细

django drf SearchFilter与OrderingFilter

时间:2019-04-04 20:35:42      阅读:223      评论:0      收藏:0      [点我收藏+]

View Demo

from django.shortcuts import render

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from rest_framework.parsers import JSONParser
from rest_framework import mixins, generics
from rest_framework.generics import ListAPIView
from rest_framework.pagination import PageNumberPagination
from goods.models import Goods, GoodsCategory
from goods.serializer import GoodsSerializer, CategorySerializer
from rest_framework import viewsets
from django_filters.rest_framework import DjangoFilterBackend

import django_filters
from rest_framework import filters

class GoodsList(mixins.ListModelMixin, viewsets.GenericViewSet):
    class GoodsPagination(PageNumberPagination):
        page_size = 2
        page_size_query_param = pageSize
        page_query_param = p
        max_page_size = 100

    queryset = Goods.objects.all()  # 不能切片后再过滤,例如:Goods.objects.all()[:10]
    serializer_class = GoodsSerializer
    pagination_class = GoodsPagination
    filter_backends = (DjangoFilterBackend,filters.SearchFilter,filters.OrderingFilter)
    search_fields = (=name,) # 文档:https://www.django-rest-framework.org/api-guide/filtering/#searchfilter
    ordering_fields=(name,)
    # filter_fields = (‘name‘,) #逗号必加,缺点无法模糊查询
    # filterset_class = GoodsFilter

test

技术分享图片

 

django drf SearchFilter与OrderingFilter

原文:https://www.cnblogs.com/chenyishi/p/10656700.html

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