aboutsummaryrefslogtreecommitdiff
path: root/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'models.py')
-rw-r--r--models.py7
1 files changed, 7 insertions, 0 deletions
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")) \