aircox-radiocampus/aircox/serializers/admin.py
2023-03-13 17:47:00 +01:00

40 lines
1.0 KiB
Python

from rest_framework import serializers
from taggit.serializers import TaggitSerializer, TagListSerializerField
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",
"timestamp",
)
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)