From ed684a836ce8528598453e5ec092d846765874a9 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Wed, 17 Jul 2024 20:52:37 -0400 Subject: [PATCH] refactor: reuse the existing Timesolt serializer, exclude the memo field --- program/serializers.py | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/program/serializers.py b/program/serializers.py index c041761d..579d307c 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -1389,32 +1389,9 @@ class CalendarSchemaSerializer(serializers.Serializer): def link_types(self): return LinkType.objects.all() - class CalendarTimeslotSerializer(serializers.ModelSerializer): - note_id = serializers.SerializerMethodField() - show_id = serializers.SerializerMethodField() - schedule_id = serializers.PrimaryKeyRelatedField( - queryset=Schedule.objects.all(), - required=False, - source="schedule", - ) - repetition_of_id = serializers.PrimaryKeyRelatedField( - allow_null=True, - queryset=TimeSlot.objects.all(), - required=False, - source="repetition_of", - ) - - class Meta: - exclude = ("memo", "schedule", "repetition_of") - model = TimeSlot - - @staticmethod - def get_show_id(obj) -> int: - return obj.schedule.show.id - - @staticmethod - def get_note_id(obj) -> int: - return obj.note.id + class CalendarTimeslotSerializer(TimeSlotSerializer): + class Meta(TimeSlotSerializer.Meta): + fields = [f for f in TimeSlotSerializer.Meta.fields if f != "memo"] shows = ShowSerializer(many=True) timeslots = CalendarTimeslotSerializer(many=True) -- GitLab