From 090d14b8e65bf73956f691d0f409cf399883ecfb Mon Sep 17 00:00:00 2001 From: Mike0001-droid Date: Mon, 10 Jun 2024 16:33:14 +0500 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/proj/audio/views.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index 462a111..65bbeed 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -15,25 +15,20 @@ from .models import Song, FavoriteSong from .serializers import SongSerializer, FavoriteSongSerializer class SongViewSet(GenericViewSet): - permission_classes_by_action = { - 'list': [IsAuthenticated], - 'retrieve': [IsAuthenticated], - 'create_song': [IsAuthenticated] - } + serializer_class = SongSerializer + permission_classes = (IsAuthenticated,) + queryset = Song.objects.all() def list(self, request): - try: - songs_pk = FavoriteSong.objects.filter(user=request.user, song__isnull=False).values_list('song_id', flat=True) - queryset = Song.objects.filter(id__in=songs_pk) - except ObjectDoesNotExist: - return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND) + songs_pk = FavoriteSong.objects.filter(user=request.user, song__isnull=False).values_list('song_id', flat=True) + queryset = Song.objects.filter(id__in=songs_pk) serializer = SongSerializer(queryset, many=True) - return Response(serializer.data) + return Response(f"{request.build_absolute_uri()}") def retrieve(self, request, pk=None): try: - song_obj = Song.objects.get(azura_id=pk).pk - queryset = FavoriteSong.objects.get(user=request.user.pk, song=song_obj) + song_obj = Song.objects.get(azura_id=pk) + queryset = FavoriteSong.objects.get(user=request.user, song=song_obj) except ObjectDoesNotExist: return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND) serializer = FavoriteSongSerializer(queryset)