From 5b2362570b25188e6a6992e89fcc50832e3c6626 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Wed, 17 Jul 2024 19:54:54 -0400 Subject: [PATCH] feat: exclude memo from timeslot serializer for calendar --- program/serializers.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/program/serializers.py b/program/serializers.py index 4dad927f..c041761d 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -1389,8 +1389,35 @@ 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 + shows = ShowSerializer(many=True) - timeslots = TimeSlotSerializer(many=True) + timeslots = CalendarTimeslotSerializer(many=True) profiles = ProfileSerializer(many=True) categories = CategorySerializer(many=True) funding_categories = FundingCategorySerializer(many=True) -- GitLab