From c7590745622e98643f4b823544fb59a647abb118 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Wed, 17 Aug 2022 16:08:00 -0400 Subject: [PATCH] Add missing fields to ShowSerializer, use context for updated_by --- program/serializers.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/program/serializers.py b/program/serializers.py index 63cfa45a..86149f69 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -366,6 +366,12 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): "updated_at", "updated_by", ) + read_only_fields = ( + "created_at", + "created_by", + "updated_at", + "updated_by", + ) def create(self, validated_data): """ @@ -380,7 +386,7 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): music_focus = validated_data.pop("music_focus") links_data = validated_data.pop("links", []) - show = Show.objects.create(**validated_data) + show = Show.objects.create(**validated_data | self.context) # Save many-to-many relationships show.owners.set(owners) @@ -433,7 +439,6 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): instance.internal_note = validated_data.get( "internal_note", instance.internal_note ) - instance.owners.set(validated_data.get("owners", instance.owners)) instance.category.set(validated_data.get("category", instance.category)) instance.hosts.set(validated_data.get("hosts", instance.hosts)) @@ -443,6 +448,8 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): validated_data.get("music_focus", instance.music_focus) ) + instance.updated_by = self.context.get("updated_by") + if instance.links.count() > 0: for link in instance.links.all(): link.delete(keep_parents=True) -- GitLab