From 691642aa4a14ee76f0fd231c544241a09d49e822 Mon Sep 17 00:00:00 2001 From: jochenGCD Date: Thu, 6 Feb 2025 21:55:36 +0100 Subject: [PATCH] fix in list display for characters with name variations with diacritics --- apps/gcd/views/details.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/apps/gcd/views/details.py b/apps/gcd/views/details.py index afd70815..5112957d 100644 --- a/apps/gcd/views/details.py +++ b/apps/gcd/views/details.py @@ -3917,11 +3917,26 @@ def character_name_issues(request, character_name_id, universe_id=None): if character.active_generalisations().filter( from_character__character_names__name=character_name.name): filter_character = character.active_generalisations().get()\ - .from_character - filter_character_name = filter_character.character_names\ - .get(name= - character_name.name, - deleted=False) + .from_character + try: + filter_character_name = \ + filter_character.character_names.get( + name=character_name.name, + deleted=False) + except CharacterNameDetail.MultipleObjectsReturned: + # This can happen due to diacritics, so we try to find the + # exact match. + found = False + for name in filter_character.character_names\ + .filter(name=character_name.name, + deleted=False): + if name.name == character_name.name: + filter_character_name = name + found = True + break + if not found: + # more a CharacterNameDetail.DoesNotExist exception here ? + raise else: return render(request, 'indexer/error.html', {'error_text':