List of objects return empty - using django - mixins, generic views

222 views Asked by At

views.py

class ReviewList(mixins.ListModelMixin,
                mixins.CreateModelMixin,
                generics.GenericAPIView):
    queryset = Review.objects.all()
    serializer_class = ReviewSerializer
    
    def get(self,request,*args,**kwargs):
        return self.list(request, *args, **kwargs)
    
    def post(self,request,*args,**kwargs):
        return self.create(request, *args, **kwargs)

models.py

class Review(models.Model):
    rating = models.PositiveIntegerField(validators=[MinValueValidator(1),MaxValueValidator(5)])
    description = models.CharField(max_length=200, null=True)
    created = models.DateTimeField(auto_now_add=True)
    update = models.DateTimeField(auto_now=True)
    active = models.BooleanField(default=True)
    watchlist = models.ForeignKey(WatchList, on_delete=models.CASCADE, related_name='reviews')
    
    def __str__(self) -> str:
        return str(self.rating) + ' - ' + self.watchlist.title

urls.py


urlpatterns = [
    path('list/', WatchListAV.as_view(), name='movie-list'),
    path('<int:pk>', MovieDetailsAV.as_view(),name='movie-details'),
    path('stream/',StreamPlatformAV.as_view(),name='stream-list'),
    path('stream/<int:pk>', StreamDetailAV.as_view(), name="stream-detail"),
    path('review/', ReviewList.as_view(),name='review-list'),
]

serializers.py

class ReviewSerializer(serializers.Serializer):
    class Meta:
        model = Review
        fields = '__all__'

the list of reviews return empty as attached in photo the list of reviews is empty, im new to django cant figure it out

1

There are 1 answers

1
Iain Shelvington On

When creating serializers for a model you should subclass ModelSerializer

class ReviewSerializer(serializers.ModelSerializer):
    class Meta:
        model = Review
        fields = '__all__'