diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index ea4116116..eaf674099 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -138,8 +138,11 @@ class EventSerializer(I18nAwareModelSerializer): return value def validate_seat_category_mapping(self, value): - if value and value['seat_category_mapping'] and (not self.instance or not self.instance.pk): - raise ValidationError('You cannot specify seat category mappings on event creation.') + if not self.instance or not self.instance.pk: + if value and value['seat_category_mapping']: + raise ValidationError('You cannot specify seat category mappings on event creation.') + else: + return {'seat_category_mapping': {}} item_cache = {i.pk: i for i in self.instance.items.all()} result = {} for k, item in value['seat_category_mapping'].items(): diff --git a/src/tests/api/test_events.py b/src/tests/api/test_events.py index 21ff8b88f..798c52a5e 100644 --- a/src/tests/api/test_events.py +++ b/src/tests/api/test_events.py @@ -176,6 +176,7 @@ def test_event_create(token_client, organizer, event, meta_prop): "meta_data": { meta_prop.name: "Conference" }, + "seat_category_mapping": {}, "timezone": "Europe/Amsterdam" }, format='json'