avoid instantiating User object wrapper in user_model

This commit is contained in:
Min RK
2023-06-28 15:32:50 +02:00
parent e12a317e7a
commit 1734b75d47
2 changed files with 31 additions and 9 deletions

View File

@@ -9,7 +9,7 @@ from datetime import datetime, timedelta, timezone
from async_generator import aclosing
from dateutil.parser import parse as parse_date
from sqlalchemy import func, or_
from sqlalchemy.orm import raiseload, selectinload
from sqlalchemy.orm import joinedload, raiseload, selectinload
from tornado import web
from tornado.iostream import StreamClosedError
@@ -132,10 +132,11 @@ class UserListAPIHandler(APIHandler):
orm.Server, orm.Spawner.server
)
# apply joinedload options
# apply eager load options
query = query.options(
selectinload(orm.User.roles),
selectinload(orm.User.groups),
selectinload(orm.User._orm_spawners),
joinedload(orm.User._orm_spawners),
)
# if testing, add raiseload to prevent lazy loading of anything we didn't ask for
if True: