我使用django rest框架创建了一个API for list和create。但是它不能打印Web browsable 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',
           ]请参阅图片以供参考。

发布于 2019-03-14 16:44:59
问题出在您的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',
           ]https://stackoverflow.com/questions/55157484
复制相似问题