from rest_framework import serializers from .models import Song, FavoriteSong, PlayList, Podkast class SongSerializer(serializers.ModelSerializer): class Meta: model = Song fields = ('id', 'unique_id', 'azura_id', 'title', 'artist', 'album', 'genre', 'art') class PlayListSerializer(serializers.ModelSerializer): def validate(self, attrs): if PlayList.objects.filter( name=attrs.get('name'), user=attrs.get('user') ).exists(): raise serializers.ValidationError( { 'playlist': ['Данный плейлист уже существует'] }) return super().validate(attrs) class Meta: model = PlayList fields = ('id', 'name', 'song', 'user', 'playlist_art') def to_representation(self, instance): rep = super().to_representation(instance) rep["song"] = SongSerializer( instance.song.all(), many=True).data return rep class FavoriteSongSerializer(serializers.ModelSerializer): song = SongSerializer(many=True) class Meta: model = FavoriteSong fields = '__all__' class PodkastSerializer(serializers.ModelSerializer): class Meta: model = Podkast fields = '__all__'