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: