Django Rest Framework - ListCreateAPIView ничего не печатает - PullRequest
0 голосов
/ 14 марта 2019

Я создал API для списка и создал с помощью django rest framework.Но он не печатает ничего в веб-интерфейсе API.Я не знаю, в чем проблема.Когда я печатаю переменные queryset и serializer, это дает правильный вывод как QuerySet.Почему это происходит?

Views.py

from rest_framework.response import Response
from rest_framework import generics
from .serializers import MovieSerializer
from movie.models import Movie
from rest_framework.permissions import IsAuthenticated

   class MovieList(generics.ListCreateAPIView):
       queryset = Movie.objects.all()[:10]
       serializer_class = MovieSerializer
       permission_classes = (IsAuthenticated,)

       def list(self, request):
           # Note the use of `get_queryset()` instead of `self.queryset`
           queryset = self.get_queryset()
           # print(queryset)
           serializer = MovieSerializer(queryset, many=True)
           # print(serializer.data)
           return Response(serializer.data)

Serializers.py

from rest_framework import serializers
from movie.models import Movie

   class MovieSerializer(serializers.Serializer):
       class Meta:
           model = Movie
           fields = [
               'popularity',
               'director',
               'genre',
               'imdb_score',
               'name',
           ]

См. Изображение для справки.enter image description here

1 Ответ

1 голос
/ 14 марта 2019

Проблема в вашем serializers.py. Вы должны использовать ModelSerializer вместо Serializer.

from rest_framework import serializers
from movie.models import Movie

   class MovieSerializer(serializers.ModelSerializer):  # <- 
       class Meta:
           model = Movie
           fields = [
               'popularity',
               'director',
               'genre',
               'imdb_score',
               'name',
           ]
...