Django Rest框架-ListCreateAPIView不打印任何内容
我已经为list创建了一个API,并使用django rest框架创建了它。但它并没有在Web可浏览api中打印任何内容。我不知道是什么问题。当我打印Django Rest框架-ListCreateAPIView不打印任何内容,django,django-rest-framework,Django,Django Rest Framework,我已经为list创建了一个API,并使用django rest框架创建了它。但它并没有在Web可浏览api中打印任何内容。我不知道是什么问题。当我打印queryset和serializer变量时,它作为queryset提供正确的输出。为什么会这样 Views.py from rest_framework.response import Response from rest_framework import generics from .serializers import MovieSerial
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)
序列化程序.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',
]
请参见图像以供参考。
问题出在您的
序列化程序.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',
]
从rest\u框架导入序列化程序
从movie.models导入电影
类MovieSerializer(serializers.ModelSerializer):#您的数据是否已填充?是的,已填充您使用的不是模型序列化程序
,而是序列化程序
。另外,请注意以这种方式切片queryset。