diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index e8e135a04d178ff24bf04795d16e47b114d7487b..7f8134e653fc6b2d594c24a107c063b743425c3b 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: