From a1231e340dbb9236f3804679360c0ab7895ae903 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 28 Sep 2017 21:57:54 +0200 Subject: Affichage seulement des groupes intéressants pour éviter des clics inutiles : Si les enfants d’un groupe ont eux-mêmes des enfants, on n’affiche pas ce groupe mais ces enfants. --- models.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'models.py') diff --git a/models.py b/models.py index 4be7ef5..0625e34 100644 --- a/models.py +++ b/models.py @@ -65,6 +65,13 @@ class Timetable(SlugModel): class GroupManager(Manager): + def get_relevant_children(self, group): + parent_in = self.get_queryset().filter(parent=group) + return self.get_queryset().filter(Q(parent=group) | Q(parent__in=parent_in)) \ + .annotate(children_count=Count("children")) \ + .filter(children_count=0) \ + .order_by("name") + def get_relevant_groups(self, *args, **criteria): return self.get_queryset().filter(*args, **criteria) \ .annotate(children_count=Count("children")) \ -- cgit v1.2.1