From 8000c00e2af698c908a6e49af7b8d3eacca4d9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Mon, 12 Jun 2017 18:01:51 +0200 Subject: [PATCH] editor: check for duplicate redirect slugs with a single query --- src/c3nav/editor/forms.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/c3nav/editor/forms.py b/src/c3nav/editor/forms.py index 536f78ff..ad0ca33d 100644 --- a/src/c3nav/editor/forms.py +++ b/src/c3nav/editor/forms.py @@ -70,10 +70,11 @@ class MapitemFormMixin(ModelForm): for slug in self.add_redirect_slugs: self.fields['slug'].run_validators(slug) - if LocationSlug.objects.filter(slug=slug).exists(): - raise ValidationError( - _('Can not add redirecting slug ā€œ%sā€: it is already used elsewhere.') % slug - ) + + for slug in LocationSlug.objects.filter(slug__in=self.add_redirect_slugs).values_list('slug', flat=True)[:1]: + raise ValidationError( + _('Can not add redirecting slug ā€œ%sā€: it is already used elsewhere.') % slug + ) def clean(self): if 'geometry' in self.fields: