diff --git a/program/serializers.py b/program/serializers.py index bf44de1c521d6b280208824988558ffc0c3e9532..c1c8496269044f7bba3dea400431517c2b23ca99 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -787,7 +787,12 @@ class NoteSerializer(serializers.ModelSerializer): contributors = validated_data.pop("contributors", []) # required - validated_data["timeslot"] = validated_data.pop("timeslot_id") + if "timeslot_id" in validated_data: + validated_data["timeslot"] = validated_data.pop("timeslot_id") + else: + # TODO: Once we remove nested routes, this hack should be removed + timeslot_pk = TimeSlot.objects.get(pk=self.context["request"].path.split("/")[-3]) + validated_data["timeslot"] = validated_data.pop("timeslot_id", timeslot_pk) # optional validated_data["image"] = validated_data.pop("image_id", None) @@ -826,10 +831,10 @@ class NoteSerializer(serializers.ModelSerializer): instance.cba_id = validated_data.get("cba_id", instance.cba_id) instance.content = validated_data.get("content", instance.content) - instance.image = validated_data.get("image", instance.image_id) + instance.image = validated_data.get("image_id", instance.image) instance.slug = validated_data.get("slug", instance.slug) instance.summary = validated_data.get("summary", instance.summary) - instance.timeslot = validated_data.get("timeslot", instance.timeslot_id) + instance.timeslot = validated_data.get("timeslot_id", instance.timeslot) instance.title = validated_data.get("title", instance.title) instance.contributors.set(validated_data.get("contributors", instance.contributors))