diff --git a/apps/video/views.py b/apps/video/views.py index 995c9cb..0f4e5fe 100644 --- a/apps/video/views.py +++ b/apps/video/views.py @@ -335,12 +335,12 @@ class VideoListAPIView(generics.ListAPIView): # Filter by category if provided category_slug = self.request.query_params.get('category', None) if category_slug: - queryset = queryset.filter(categories__slug=category_slug) + queryset = queryset.filter(playlist_appearances__playlist__categories__slug=category_slug) # Filter by collection if provided collection_slug = self.request.query_params.get('collection', None) if collection_slug: - queryset = queryset.filter(collections__slug=collection_slug) + queryset = queryset.filter(playlist_appearances__playlist__collections__slug=collection_slug) is_bookmark = self.request.query_params.get('is_bookmark', '').lower() if is_bookmark == 'true': @@ -372,7 +372,7 @@ class VideoListAPIView(generics.ListAPIView): else: queryset = queryset.order_by('-created_at') - return queryset + return queryset.distinct() class VideoPlaylistDetailAPIView(generics.RetrieveAPIView):