@@ -121,11 +121,11 @@ async def fast_execute():
121121 # delete
122122 user = User(id = 1 , name = ' test' )
123123 await db.delete(user)
124-
124+
125125 # save(insert or update)
126126 user = User(name = ' new_user' )
127127 await db.save(user)
128-
128+
129129 # run_sync
130130 await db.run_sync(Base.metadata.create_all, is_session = False )
131131
@@ -185,11 +185,11 @@ def fast_execute():
185185 # delete
186186 user = User(id = 1 , name = ' test' )
187187 db.delete(user)
188-
188+
189189 # save(insert or update)
190190 user = User(name = ' new_user' )
191191 db.save(user)
192-
192+
193193 # run_sync
194194 db.run_sync(Base.metadata.create_all, is_session = False )
195195
@@ -250,11 +250,11 @@ async def fast_execute(db: Union[AsyncDatabase, Database]):
250250 # delete
251251 user = User(id = 1 , name = ' test' )
252252 await db.async_delete(user)
253-
253+
254254 # save(insert or update)
255255 user = User(name = ' new_user' )
256256 await db.async_save(user)
257-
257+
258258 # run_sync
259259 await db.async_run_sync(Base.metadata.create_all, is_session = False )
260260
@@ -278,6 +278,34 @@ def get_user(id: int, session: Session = Depends(db.session_generator)):
278278 return session.get(User, id )
279279```
280280
281+ ## Use middleware in FastAPI
282+
283+ ``` python
284+ app = FastAPI()
285+
286+ # Database
287+ sync_db = Database.create(" sqlite:///amisadmin.db?check_same_thread=False" )
288+
289+ app.add_middleware(BaseHTTPMiddleware, dispatch = sync_db.asgi_dispatch)
290+
291+
292+ @app.get (" /user/{id} " )
293+ def get_user (id : int ):
294+ return sync_db.session.get(User, id )
295+
296+
297+ # AsyncDatabase
298+ async_db = AsyncDatabase.create(" sqlite+aiosqlite:///amisadmin.db?check_same_thread=False" )
299+
300+ app.add_middleware(BaseHTTPMiddleware, dispatch = async_db.asgi_dispatch)
301+
302+
303+ @app.get (" /user/{id} " )
304+ async def get_user (id : int ):
305+ return await async_db.session.get(User, id )
306+
307+ ```
308+
281309## More tutorial documentation
282310
283311### [ sqlalchemy] ( https://github.com/sqlalchemy/sqlalchemy )
0 commit comments