написал новый сериализатор для избранных треков

This commit is contained in:
Mike0001-droid 2024-06-10 13:16:00 +05:00
parent 909ba66fce
commit d5cbcef753
2 changed files with 15 additions and 4 deletions

View File

@ -13,7 +13,18 @@ class FavoriteSongSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
rep = super().to_representation(instance)
rep["songs"] = SongSerializer(
instance.song, many=True).data
rep["song"] = SongSerializer(
instance.song).data
return rep
class OnlyFavoriteSongSerializer(serializers.ModelSerializer):
class Meta:
model = FavoriteSong
fields = ('song')
def to_representation(self, instance):
rep = super().to_representation(instance)
rep["song"] = SongSerializer(
instance.song).data
return rep

View File

@ -9,7 +9,7 @@ import requests
from .schemas import SongSchema, DeleteSongSchema
from .models import Song, FavoriteSong
from .serializers import SongSerializer, FavoriteSongSerializer
from .serializers import SongSerializer, FavoriteSongSerializer, OnlyFavoriteSongSerializer
class SongViewSet(ViewSet):
permission_classes_by_action = {
@ -20,7 +20,7 @@ class SongViewSet(ViewSet):
def list(self, request):
user_pk = request.user.pk
queryset = get_list_or_404(FavoriteSong, user=user_pk)
serializer = FavoriteSongSerializer(queryset, many=True)
serializer = OnlyFavoriteSongSerializer(queryset, many=True)
return Response(serializer.data)
def retrieve(self, request, pk=None):