написал новый сериализатор для избранных треков
This commit is contained in:
parent
909ba66fce
commit
d5cbcef753
|
|
@ -13,7 +13,18 @@ class FavoriteSongSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
rep = super().to_representation(instance)
|
rep = super().to_representation(instance)
|
||||||
rep["songs"] = SongSerializer(
|
rep["song"] = SongSerializer(
|
||||||
instance.song, many=True).data
|
instance.song).data
|
||||||
return rep
|
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
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ import requests
|
||||||
|
|
||||||
from .schemas import SongSchema, DeleteSongSchema
|
from .schemas import SongSchema, DeleteSongSchema
|
||||||
from .models import Song, FavoriteSong
|
from .models import Song, FavoriteSong
|
||||||
from .serializers import SongSerializer, FavoriteSongSerializer
|
from .serializers import SongSerializer, FavoriteSongSerializer, OnlyFavoriteSongSerializer
|
||||||
|
|
||||||
class SongViewSet(ViewSet):
|
class SongViewSet(ViewSet):
|
||||||
permission_classes_by_action = {
|
permission_classes_by_action = {
|
||||||
|
|
@ -20,7 +20,7 @@ class SongViewSet(ViewSet):
|
||||||
def list(self, request):
|
def list(self, request):
|
||||||
user_pk = request.user.pk
|
user_pk = request.user.pk
|
||||||
queryset = get_list_or_404(FavoriteSong, user=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)
|
return Response(serializer.data)
|
||||||
|
|
||||||
def retrieve(self, request, pk=None):
|
def retrieve(self, request, pk=None):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue