aboutsummaryrefslogtreecommitdiff
path: root/models.py
diff options
context:
space:
mode:
authorAlban Gruin2017-01-27 22:48:47 +0100
committerAlban Gruin2017-01-27 23:08:17 +0100
commitad5bbfe24c8d00d3bc4b2ae96cb583c141ae27dd (patch)
treec2bcf1104ac64df933f0b5fba6cd80301ffb4cad /models.py
parente6c95f5e792ed1400965eae90f2770f385872469 (diff)
Création de différentes classes permettant d'effectuer un group by simple
* GroupedCompiler rajoute une étape à get_group_by() pour insérer de manière simple les champs à grouper * GroupedQuery rajoute une liste stockant les champs à grouper * GroupedQuerySet implémente la fonction group_by() * GroupedManager change le type de QuerySet par défaut pour GroupedQuerySet Le manager des cours se base sur GroupedManager
Diffstat (limited to 'models.py')
-rw-r--r--models.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/models.py b/models.py
index 64fb675..26bb63d 100644
--- a/models.py
+++ b/models.py
@@ -4,6 +4,8 @@ from django.db.models.expressions import RawSQL
from django.db.models.functions import Extract, ExtractYear
from django.utils.text import slugify
+from .db import GroupedManager
+
import hashlib
import os
@@ -111,7 +113,7 @@ class Room(models.Model):
verbose_name_plural = "salles"
-class CourseManager(models.Manager):
+class CourseManager(GroupedManager):
def __get_weeks(self, qs):
extractYear = ExtractYear("begin")
@@ -130,6 +132,7 @@ class CourseManager(models.Manager):
qs = self.get_courses_for_group(group, **filters)
return self.__get_weeks(qs)
+
class Course(models.Model):
objects = CourseManager()