diff --git a/server/proj/audio/serializers.py b/server/proj/audio/serializers.py index 7b52368..b9aa3fa 100644 --- a/server/proj/audio/serializers.py +++ b/server/proj/audio/serializers.py @@ -10,3 +10,10 @@ class FavoriteSongSerializer(serializers.ModelSerializer): class Meta: model = FavoriteSong fields = ('id', 'song', 'user') + + def to_representation(self, instance): + rep = super().to_representation(instance) + rep["song"] = SongSerializer( + instance.song).data + return rep + diff --git a/server/proj/audio/views.py b/server/proj/audio/views.py index a42cb9b..fc0d698 100644 --- a/server/proj/audio/views.py +++ b/server/proj/audio/views.py @@ -44,9 +44,18 @@ class SongViewSet(ViewSet): if serializer.is_valid(): serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) + data = { + "song": song[0].id, + "user": request.user.pk + } + + serializer_1 = FavoriteSongSerializer(data=data) + if serializer_1.is_valid(): + serializer_1.save() + return Response(serializer_1.data, status=status.HTTP_201_CREATED) else: - return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + return Response(serializer_1.errors, status=status.HTTP_400_BAD_REQUEST) + @action(detail=False, methods=['post'], schema=DeleteSongSchema())