[英]AssertionError at /api/movies/ 'MovieViewSet' should either include a `queryset` attribute, or override the `get_queryset()` method
Iam trying to access http://localhost:8000/api/movies/.我正在尝试访问 http://localhost:8000/api/movies/。 But, it showing like this ..AssertionError at /api/movies/ 'MovieViewSet' should either include a
queryset
attribute, or override the get_queryset()
method.但是,它在 /api/movies/ 'MovieViewSet' 中显示为这样的 ..AssertionError 应该包含一个
queryset
属性,或者覆盖get_queryset()
方法。 I attached my code below我在下面附上了我的代码
models.py模型.py
from django.db import models
from django.contrib.auth.models import User
from django.core.validators import MinValueValidator,MaxValueValidator
class Movie(models.Model):
title = models.CharField(max_length = 32)
description = models.TextField(max_length =300)
def __str__(self):
return self.title
class Rating(models.Model):
movie = models.ForeignKey(Movie, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
stars = models.IntegerField(validators=[MinValueValidator(1),MaxValueValidator(5)])
class Meta:
unique_together =(("user","movie"),)
index_together =(("user","movie"),)
serializers.py序列化程序.py
from rest_framework import serializers
from .models import Movie,Rating
class MovieSerializer(serializers.ModelSerializer):
class Meta:
model = Movie
fields = ('id','title','description')
class RatingSerializer(serializers.ModelSerializer):
class Meta:
model = Rating
fields = ('id','stars','user','movie')
urls.py网址.py
from django.contrib import admin
from django.urls import path
from rest_framework import routers
from django.conf.urls import include
from .views import MovieViewSet,RatingViewSet
router = routers.DefaultRouter()
router.register('movies',MovieViewSet,basename='movies')
router.register('ratings',RatingViewSet,basename='ratings')
urlpatterns = [
path('', include(router.urls)),
]
views.py视图.py
from django.shortcuts import render
from rest_framework import viewsets
from .models import Movie,Rating
from .serializers import MovieSerializer,RatingSerializer
class MovieViewSet(viewsets.ModelViewSet):
query_set = Movie.objects.all()
serializer_class = MovieSerializer
class RatingViewSet(viewsets.ModelViewSet):
query_set = Rating.objects.all()
serializer_class = RatingSerializer
您应该在views.py
使用queryset
,而不是query_set
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.