aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlban Gruin2017-11-27 16:37:31 +0100
committerAlban Gruin2017-11-27 16:37:31 +0100
commitfb6ea65e7d32dcf3d697e6c63985a018ada4d6b1 (patch)
treeca73e9ae756f1a06e857ac5caee2bcd2066705e9
parent3b9eab819c603b1d3b2b59d79258ce6a05aa24b9 (diff)
Ajout d’un gestionnaire pour Timetable récupérant automatiquement les
années Réduit considérablement le nombre d’appels effectués dans l’interface d’administration
-rw-r--r--models.py7
-rw-r--r--views.py2
2 files changed, 8 insertions, 1 deletions
diff --git a/models.py b/models.py
index 6124b59..b8c67d6 100644
--- a/models.py
+++ b/models.py
@@ -62,7 +62,14 @@ class Source(models.Model):
verbose_name_plural = "sources d’emploi du temps"
+class TimetableManager(Manager):
+ def get_queryset(self):
+ return super(Manager, self).get_queryset().select_related("year")
+
+
class Timetable(SlugModel):
+ objects = TimetableManager()
+
year = models.ForeignKey(Year, on_delete=models.CASCADE,
verbose_name="année")
name = models.CharField(max_length=64, verbose_name="nom")
diff --git a/views.py b/views.py
index 2bf596b..97a1d28 100644
--- a/views.py
+++ b/views.py
@@ -31,7 +31,7 @@ def index(request):
def mention_list(request, year_slug):
year = get_object_or_404(Year, slug=year_slug)
- timetables = Timetable.objects.order_by("name").filter(year=year).select_related("year")
+ timetables = Timetable.objects.order_by("name").filter(year=year)
return render(request, "index.html", {"year": year, "elements": timetables})