File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change 88from fastapi .dependencies .utils import solve_dependencies
99from sqlalchemy import event
1010from sqlalchemy .engine import Connection , Engine , ExecutionContext
11+ from sqlalchemy .exc import UnboundExecutionError
1112from sqlalchemy .ext .asyncio import AsyncSession
1213from 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 :
You can’t perform that action at this time.
0 commit comments