From 5522d67f9b270cc372d6f2a9678cd165030eca43 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 9 May 2025 08:59:40 +0200 Subject: [PATCH] API: Fix old meta values being returned when updating event (fixes #5077) (#5080) --- src/pretix/api/serializers/event.py | 4 ++++ src/tests/api/test_events.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index 465b4b2cf..616122179 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -378,6 +378,8 @@ class EventSerializer(SalesChannelMigrationMixin, I18nAwareModelSerializer): if prop.name not in meta_data: current_object.delete() + instance._prefetched_objects_cache.clear() + # Item Meta properties if item_meta_properties is not None: current = list(event.item_meta_properties.all()) @@ -398,6 +400,8 @@ class EventSerializer(SalesChannelMigrationMixin, I18nAwareModelSerializer): if prop.name not in list(item_meta_properties.keys()): prop.delete() + instance._prefetched_objects_cache.clear() + # Seats if seat_category_mapping is not None or ('seating_plan' in validated_data and validated_data['seating_plan'] is None): current_mappings = { diff --git a/src/tests/api/test_events.py b/src/tests/api/test_events.py index 2a390f078..34d5c70cc 100644 --- a/src/tests/api/test_events.py +++ b/src/tests/api/test_events.py @@ -734,6 +734,9 @@ def test_event_update(token_client, organizer, event, item, meta_prop): format='json' ) assert resp.status_code == 200 + assert resp.data["meta_data"] == { + meta_prop.name: "Workshop" + } with scopes_disabled(): assert organizer.events.get(slug=resp.data['slug']).meta_values.filter( property__name=meta_prop.name, value="Workshop"