diff options
author | Alban Gruin | 2017-11-18 16:04:28 +0100 |
---|---|---|
committer | Alban Gruin | 2017-11-27 12:11:30 +0100 |
commit | 1046a9ea68d9a29dc929eb88581e50a0704a5142 (patch) | |
tree | 7a35c017ce0b0d98f859a99c4bef6dd5025b84b1 | |
parent | 599ca85167ad7d53f6434b105cb74c761d994ecf (diff) |
Optimisation (?) de la requête des emplois du temps des salles
-rw-r--r-- | views.py | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -103,12 +103,13 @@ def rooms(request): # Récupération des salles et de toutes les semaines où elles sont # concernées - # Cette requête est un peu lente sur sqlite… j’espère que ce sera mieux - # sur la base de prod. + # Cette requête est un peu lente sur sqlite… + # Par contre c’est beaucoup plus rapide sur PostgreSQL rooms = Room.objects.filter(course__begin__gte=start, course__begin__lt=end) \ + .order_by("name") \ .annotate(year=ExtractYear("course__begin"), - week=ExtractWeek("course__begin")) \ - .order_by("name").annotate(c=Count("*")) + week=ExtractWeek("course__begin"), + c=Count("*")) rooms_weeks = [] for room in rooms: |