【发布时间】:2020-02-22 23:19:04
【问题描述】:
我的基于类的视图有以下 views.py 文件。
from rest_framework import viewsets
from rest_framework.views import APIView
from rest_framework_jwt.authentication import JSONWebTokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from django.shortcuts import get_object_or_404
from .permissions import IsOwner, IsNotBlacklistedUser
from rest_framework import filters
from django_filters import rest_framework as filters_django
from core.models import Book
from .serializers import BookSerializer, AllBookSerializer
class BookApiView(APIView):
authentication_classes = (JSONWebTokenAuthentication, )
permission_classes = (IsAuthenticated, IsNotBlacklistedUser)
filter_backends = (filters_django.DjangoFilterBackend,)
filterset_fields = ('title',)
def get(self, request):
books = Book.objects.filter(
user=request.user.id, is_published=True).order_by('-title')
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
def post(get, request):
data = request.data
serializer = BookSerializer(data=data)
if serializer.is_valid():
serializer.save(user=request.user)
return Response(serializer.data, status=201)
return Response(serializer.errors, status=400)
当我在 django rest 框架 UI 中加载此视图时,我看不到任何过滤器选项。我不确定我应该怎么做。有人可以指出我可能需要做些什么才能使其正常工作。我还在我的 settings.py 文件中添加了'django_filters'。
提前致谢。
【问题讨论】:
标签: django-rest-framework django-filter