from rest_framework import serializers from taggit.serializers import TagListSerializerField, TaggitSerializer from ..models import Track, UserSettings __all__ = ('TrackSerializer', 'UserSettingsSerializer') class TrackSerializer(TaggitSerializer, serializers.ModelSerializer): tags = TagListSerializerField() class Meta: model = Track fields = ('pk', 'artist', 'title', 'album', 'year', 'position', 'info', 'tags', 'episode', 'sound') class UserSettingsSerializer(serializers.ModelSerializer): # TODO: validate fields values (playlist_editor_columns at least) class Meta: model = UserSettings fields = ('playlist_editor_columns', 'playlist_editor_sep') def create(self, validated_data): user = self.context.get('user') if user: validated_data['user_id'] = user.id return super().create(validated_data)