From b73eca91caba183ba4f6375b16d1003bdc685f8c Mon Sep 17 00:00:00 2001 From: Rollin Thomas Date: Fri, 15 Jan 2021 11:19:57 -0800 Subject: [PATCH] Fix pagination with named servers --- jupyterhub/handlers/pages.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/jupyterhub/handlers/pages.py b/jupyterhub/handlers/pages.py index 0acbc0d5..368cc7d2 100644 --- a/jupyterhub/handlers/pages.py +++ b/jupyterhub/handlers/pages.py @@ -501,20 +501,16 @@ class AdminHandler(BaseHandler): # get User.col.desc() order objects ordered = [getattr(c, o)() for c, o in zip(cols, orders)] - users = ( - self.db.query(orm.User) - .outerjoin(orm.Spawner) - .order_by(*ordered) - .limit(per_page) - .offset(offset) - ) + query = self.db.query(orm.User).outerjoin(orm.Spawner).distinct(orm.User.id) + + users = query.order_by(*ordered).limit(per_page).offset(offset) users = [self._user_from_orm(u) for u in users] running = [] for u in users: running.extend(s for s in u.spawners.values() if s.active) - pagination.total = self.db.query(orm.User.id).count() + pagination.total = query.count() auth_state = await self.current_user.get_auth_state() html = await self.render_template(