From fdc796dab2c32f2ed4da53ed2e1dfc204e607399 Mon Sep 17 00:00:00 2001 From: Jochen Klar Date: Sat, 9 Dec 2023 12:47:25 +0100 Subject: [PATCH] Fix ValueConflictValidator --- rdmo/projects/validators.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/rdmo/projects/validators.py b/rdmo/projects/validators.py index 5d3e99b1d4..77c7495f3f 100644 --- a/rdmo/projects/validators.py +++ b/rdmo/projects/validators.py @@ -1,7 +1,7 @@ from datetime import timedelta from django.conf import settings -from django.core.exceptions import ObjectDoesNotExist +from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.utils.dateparse import parse_datetime from django.utils.translation import gettext_lazy as _ @@ -35,13 +35,16 @@ def __call__(self, data, serializer): set_index=data.get('set_index'), collection_index=data.get('collection_index') ) - raise serializers.ValidationError({ - 'conflict': [_('An existing value for this attribute/set_prefix/set_index/collection_index' - ' was found.')] - }) except ObjectDoesNotExist: + return + except MultipleObjectsReturned: pass + raise serializers.ValidationError({ + 'conflict': [_('An existing value for this attribute/set_prefix/set_index/collection_index' + ' was found.')] + }) + class ValueQuotaValidator: requires_context = True