ITRadio/server/proj/audio/serializers.py

39 lines
1.2 KiB
Python

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):
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):
def __init__(self, *args, **kwargs):
self.request_user = kwargs.pop('request_user', None)
super().__init__(*args, **kwargs)
class Meta:
model = FavoriteSong
fields = ('id', 'song',)
def to_representation(self, instance):
rep = super().to_representation(instance)
rep["song"] = SongSerializer(
instance.song).data
return rep
class PodkastSerializer(serializers.ModelSerializer):
class Meta:
model = Podkast
fields = '__all__'