From 135ae31d18094c783b1f148a5d62ee09d9cbcfcf Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Fri, 30 Oct 2020 21:00:20 +0100
Subject: [PATCH] Use database order_by instead of sorted

---
 aleksis/apps/alsijil/views.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index e8e135a04..7f8134e65 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -492,13 +492,12 @@ def my_students(request: HttpRequest) -> HttpResponse:
     context = {}
     relevant_groups = (
         request.user.person.get_owner_groups_with_lessons()
+        .annotate(has_parents=Exists(Group.objects.filter(child_groups=OuterRef("pk"))))
         .filter(members__isnull=False)
+        .order_by("has_parents", "name")
         .prefetch_related("members")
         .distinct()
     )
-    relevant_groups = sorted(
-        relevant_groups, key=lambda g: g.name if g.parent_groups else "0"
-    )
 
     new_groups = []
     for group in relevant_groups:
-- 
GitLab