From 8119ea98cd7912973f5d27a35995b4c79091ce70 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 27 Apr 2024 19:02:14 +0200 Subject: [PATCH] =?UTF-8?q?fix=20au=20cas=20o=C3=B9=20Place=20n'existe=20p?= =?UTF-8?q?as=20avant=20migration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agenda_culturel/models.py | 7 +++++++ src/agenda_culturel/views.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index b2790e6..af87bed 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -182,6 +182,13 @@ class Place(models.Model): def match(self, event): return event.location in self.aliases + def get_all_cities(): + try: + tags = list([p["city"] for p in Place.objects.values("city").distinct().order_by("city")]) + except: + tags = [] + return tags + class Event(models.Model): diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index d268888..4adfda0 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -96,7 +96,7 @@ class EventFilter(django_filters.FilterSet): city = django_filters.MultipleChoiceFilter(label="Filtrer par ville", field_name='exact_location__city', - choices=[(p["city"], p["city"]) for p in Place.objects.values("city").distinct().order_by("city")], + choices=[(c, c) for c in Place.get_all_cities()], widget=forms.CheckboxSelectMultiple) status = django_filters.MultipleChoiceFilter(label="Filtrer par status",