From b8547cd87703c0d674722fc6837daae7c7c10258 Mon Sep 17 00:00:00 2001 From: Jannis Portmann Date: Sat, 10 Feb 2024 00:24:57 +0100 Subject: [PATCH] Handle nonexistent and multiple PLZ --- pflaenzli/pflaenzli/utils/distance.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pflaenzli/pflaenzli/utils/distance.py b/pflaenzli/pflaenzli/utils/distance.py index 9e83b74..2c03ea8 100644 --- a/pflaenzli/pflaenzli/utils/distance.py +++ b/pflaenzli/pflaenzli/utils/distance.py @@ -20,11 +20,18 @@ def filter_by_distance(qs, filter_zipcode, max_dist): try: filter_plz = Plz.objects.get(plz=filter_zipcode) + except Plz.MultipleObjectsReturned: + filter_plz = Plz.objects.filter(plz=filter_zipcode)[0] except Plz.DoesNotExist: return filtered_offers for offer in qs: - offer_plz = Plz.objects.get(plz=offer.zipcode) + try: + offer_plz = Plz.objects.get(plz=offer.zipcode) + except Plz.MultipleObjectsReturned: + offer_plz = Plz.objects.filter(plz=offer.zipcode)[0] + except Plz.DoesNotExist: + offer_plz = None d = calculate_distance(offer_plz, filter_plz) if d is not None and d <= max_dist: