diff options
author | Alban Gruin | 2017-01-27 22:48:47 +0100 |
---|---|---|
committer | Alban Gruin | 2017-01-27 23:08:17 +0100 |
commit | ad5bbfe24c8d00d3bc4b2ae96cb583c141ae27dd (patch) | |
tree | c2bcf1104ac64df933f0b5fba6cd80301ffb4cad /models.py | |
parent | e6c95f5e792ed1400965eae90f2770f385872469 (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.py | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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() |