from django.shortcuts import render from rest_framework.viewsets import ViewSet from rest_framework.response import Response from rest_framework.decorators import action from rest_framework import status from .schemas import SongSchema from .models import Song from .serializers import SongSerializer class SongViewSet(ViewSet): def list(self, request): queryset = Song.objects.all() serializer = SongSerializer(queryset, many=True) return Response(serializer.data) @action(detail=False, methods=['post'], schema=SongSchema()) def create_song(self, request): song = SongSerializer(data=request.data) if song.is_valid(): song.save() return Response(song.data) else: return Response(status=status.HTTP_404_NOT_FOUND)