From 8de91024f4a06a78aa8d8e74f6ac66c2ce2e26c2 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Tue, 5 Sep 2023 22:16:43 -0400 Subject: [PATCH] feat: add languageIds and topicIds --- program/serializers.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/program/serializers.py b/program/serializers.py index c4006ef5..9a8cded7 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -717,6 +717,13 @@ class ScheduleDryRunResponseSerializer(serializers.Serializer): class TimeSlotSerializer(serializers.ModelSerializer): + language_ids = serializers.PrimaryKeyRelatedField( + allow_null=True, + many=True, + queryset=Language.objects.all(), + required=False, + source="language", + ) note_id = serializers.SerializerMethodField() show_id = serializers.SerializerMethodField() schedule_id = serializers.PrimaryKeyRelatedField( @@ -727,6 +734,9 @@ class TimeSlotSerializer(serializers.ModelSerializer): queryset=TimeSlot.objects.all(), required=False, ) + topic_ids = serializers.PrimaryKeyRelatedField( + allow_null=True, many=True, queryset=Topic.objects.all(), required=False, source="topic" + ) class Meta: model = TimeSlot @@ -739,9 +749,11 @@ class TimeSlotSerializer(serializers.ModelSerializer): "start", ) fields = ( + "language_ids", "memo", "playlist_id", "repetition_of_id", + "topic_ids", ) + read_only_fields @staticmethod @@ -759,6 +771,10 @@ class TimeSlotSerializer(serializers.ModelSerializer): instance.memo = validated_data.get("memo", instance.memo) instance.repetition_of = validated_data.get("repetition_of_id", instance.repetition_of) instance.playlist_id = validated_data.get("playlist_id", instance.playlist_id) + + instance.language.set(validated_data.get("language", [])) + instance.topic.set(validated_data.get("topic", [])) + instance.save() return instance -- GitLab