Skip to content

Commit dd106e7

Browse files
committed
Improve get session binds
1 parent 9237148 commit dd106e7

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

debug_toolbar/panels/sqlalchemy.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from fastapi.dependencies.utils import solve_dependencies
99
from sqlalchemy import event
1010
from sqlalchemy.engine import Connection, Engine, ExecutionContext
11+
from sqlalchemy.exc import UnboundExecutionError
1112
from sqlalchemy.ext.asyncio import AsyncSession
1213
from sqlalchemy.orm import Session
1314

@@ -65,14 +66,15 @@ async def add_engines(self, request: Request): # noqa: C901
6566
else:
6667
for value in solved_result[0].values():
6768
if isinstance(value, AsyncSession):
68-
value = getattr(value, "sync_session", None)
69+
value = value.sync_session
70+
6971
if isinstance(value, Session):
70-
binds = getattr(value, "_Session__binds", None)
71-
if binds:
72-
for bind in binds.values():
72+
try:
73+
bind = value.get_bind()
74+
except UnboundExecutionError:
75+
for bind in value._Session__binds.values(): # type: ignore[attr-defined]
7376
self.add_bind(bind)
7477
else:
75-
bind = value.get_bind()
7678
self.add_bind(bind)
7779

7880
async def process_request(self, request: Request) -> Response:

0 commit comments

Comments
 (0)