diff --git a/server/proj/audio/schemas.py b/server/proj/audio/schemas.py index 612123a..eea2ba5 100644 --- a/server/proj/audio/schemas.py +++ b/server/proj/audio/schemas.py @@ -50,6 +50,6 @@ class DeleteSongSchema(AutoSchema): name='azura_id', location='form', required=False, - schema=coreschema.String(description='ID трека') + schema=coreschema.String(description='ID трека с Азуры') ), ] \ No newline at end of file diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index 34c08d9..6dcd6c8 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -37,10 +37,8 @@ class SongViewSet(GenericViewSet): serializer = FavoriteSongSerializer(favorite_songs) return Response(serializer.data) except ObjectDoesNotExist: - return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND) + return Response({"is_favorite": False}, status=status.HTTP_200_OK) - - @action( detail=False, methods=['get'], @@ -104,7 +102,8 @@ class SongViewSet(GenericViewSet): @action(detail=False, methods=['post'], schema=DeleteSongSchema()) def delete_song(self, request): try: - item = FavoriteSong.objects.get(user=request.user, song=request.data.get('azura_id')) + song = Song.objects.get(azura_id=request.data.get('azura_id')) + item = FavoriteSong.objects.get(user=request.user, song=song.pk) item.delete() return Response(status=status.HTTP_202_ACCEPTED) except ObjectDoesNotExist: