точно всё исправил
This commit is contained in:
parent
f87b544a0f
commit
0cac350503
|
|
@ -7,17 +7,15 @@ class SongSerializer(serializers.ModelSerializer):
|
||||||
fields = ('id', 'unique_id', 'azura_id', 'title', 'artist', 'album', 'genre', 'art')
|
fields = ('id', 'unique_id', 'azura_id', 'title', 'artist', 'album', 'genre', 'art')
|
||||||
|
|
||||||
class FavoriteSongSerializer(serializers.ModelSerializer):
|
class FavoriteSongSerializer(serializers.ModelSerializer):
|
||||||
song = serializers.SerializerMethodField()
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FavoriteSong
|
model = FavoriteSong
|
||||||
fields = ('id', 'song', 'user')
|
fields = ('id', 'song', 'user')
|
||||||
|
|
||||||
def get_song(self, favorite_song):
|
|
||||||
song = Song.objects.get(id=favorite_song.song_id)
|
def to_representation(self, instance):
|
||||||
return SongSerializer(song, many=True).data
|
|
||||||
""" def to_representation(self, instance):
|
|
||||||
rep = super().to_representation(instance)
|
rep = super().to_representation(instance)
|
||||||
rep["song"] = SongSerializer(
|
rep["song"] = SongSerializer(
|
||||||
instance.song).data
|
instance.song).data
|
||||||
return rep """
|
return rep
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,9 @@ 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)
|
songs_pk = [i.pk for i in get_list_or_404(FavoriteSong, user=user_pk)]
|
||||||
serializer = FavoriteSongSerializer(queryset, many=True)
|
queryset = Song.objects.filter(id__in = songs_pk)
|
||||||
|
serializer = SongSerializer(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