добавил try except для извлечения объектов

This commit is contained in:
Mike0001-droid 2024-06-10 14:47:06 +05:00
parent 6e54faf605
commit 6bd7251fde
1 changed files with 9 additions and 2 deletions

View File

@ -3,6 +3,7 @@ from rest_framework.viewsets import ViewSet, GenericViewSet
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework import status from rest_framework import status
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.shortcuts import get_object_or_404, get_list_or_404 from django.shortcuts import get_object_or_404, get_list_or_404
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
import requests import requests
@ -25,8 +26,14 @@ class SongViewSet(GenericViewSet):
return Response(serializer.data) return Response(serializer.data)
def retrieve(self, request, pk=None): def retrieve(self, request, pk=None):
song_obj = get_object_or_404(Song, azura_id=pk).pk try:
queryset = FavoriteSong.objects.get(user=request.user.pk, song=song_obj) song_obj = Song.objects.get(azura_id=pk).pk
queryset = FavoriteSong.objects.get(user=request.user.pk, song=song_obj)
except ObjectDoesNotExist:
print("Объект не сушествует")
except MultipleObjectsReturned:
print("Найдено более одного объекта")
serializer = FavoriteSongSerializer(queryset) serializer = FavoriteSongSerializer(queryset)
return Response(serializer.data) return Response(serializer.data)