From 63b53162f84313e04bb7d2b457519ccbc6f8645b Mon Sep 17 00:00:00 2001 From: Nathan Barber Date: Thu, 15 Apr 2021 12:27:13 -0400 Subject: [PATCH] Change group.users pagination to use slices --- jupyterhub/apihandlers/groups.py | 10 +++++----- jupyterhub/orm.py | 4 +--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/jupyterhub/apihandlers/groups.py b/jupyterhub/apihandlers/groups.py index 5c578ac3..31bbd2e5 100644 --- a/jupyterhub/apihandlers/groups.py +++ b/jupyterhub/apihandlers/groups.py @@ -104,6 +104,9 @@ class GroupAPIHandler(_GroupAPIHandler): group = self.find_group(name) users_slice = None + print(type(group.users)) + print(group.users) + if offset is not None: try: offset = int(offset) @@ -112,7 +115,7 @@ class GroupAPIHandler(_GroupAPIHandler): 400, "Invalid argument type, offset must be an integer" ) - users_slice = group.users.offset(int(offset)) + group.users = group.users[offset:] if limit is not None: try: @@ -122,10 +125,7 @@ class GroupAPIHandler(_GroupAPIHandler): 400, "Invalid argument type, limit must be an integer" ) - if users_slice is not None: - users_slice = users_slice.limit(int(limit)) - else: - users_slice = group.users.limit(int(limit)) + group.users = group.users[:limit] group_model = self.group_model(group) diff --git a/jupyterhub/orm.py b/jupyterhub/orm.py index 9f7e8139..71adb09e 100644 --- a/jupyterhub/orm.py +++ b/jupyterhub/orm.py @@ -128,9 +128,7 @@ class Group(Base): __tablename__ = 'groups' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(Unicode(255), unique=True) - users = relationship( - 'User', secondary='user_group_map', backref='groups', lazy="dynamic" - ) + users = relationship('User', secondary='user_group_map', backref='groups') def __repr__(self): return "<%s %s (%i users)>" % (