Skip to content

Commit 3234b14

Browse files
committed
docs: update README.md
1 parent 2b6738c commit 3234b14

File tree

4 files changed

+68
-12
lines changed

4 files changed

+68
-12
lines changed

README.md

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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)

README.zh.md

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ async def fast_execute():
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

@@ -189,7 +189,7 @@ def fast_execute():
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

@@ -247,11 +247,11 @@ async def fast_execute(db: Union[AsyncDatabase, Database]):
247247
# delete
248248
user = User(id=1, name='test')
249249
await db.async_delete(user)
250-
250+
251251
# save(insert or update)
252252
user = User(name='new_user')
253253
await db.async_save(user)
254-
254+
255255
# run_sync
256256
await db.async_run_sync(Base.metadata.create_all, is_session=False)
257257

@@ -275,6 +275,34 @@ def get_user(id: int, session: Session = Depends(db.session_generator)):
275275
return session.get(User, id)
276276
```
277277

278+
## FastAPI中使用中间件
279+
280+
```python
281+
app = FastAPI()
282+
283+
# Database
284+
sync_db = Database.create("sqlite:///amisadmin.db?check_same_thread=False")
285+
286+
app.add_middleware(BaseHTTPMiddleware, dispatch=sync_db.asgi_dispatch)
287+
288+
289+
@app.get("/user/{id}")
290+
def get_user(id: int):
291+
return sync_db.session.get(User, id)
292+
293+
294+
# AsyncDatabase
295+
async_db = AsyncDatabase.create("sqlite+aiosqlite:///amisadmin.db?check_same_thread=False")
296+
297+
app.add_middleware(BaseHTTPMiddleware, dispatch=async_db.asgi_dispatch)
298+
299+
300+
@app.get("/user/{id}")
301+
async def get_user(id: int):
302+
return await async_db.session.get(User, id)
303+
304+
```
305+
278306
## 更多教程文档
279307

280308
### [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy)

sqlalchemy_database/_abc_async_database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ async def asgi_dispatch(self, request, call_next):
3737
```Python
3838
app = FastAPI()
3939
db = Database.create("sqlite:///test.db")
40-
app.add_middleware(BaseHTTPMiddleware, db.asgi_dispatch)
40+
app.add_middleware(BaseHTTPMiddleware, dispatch=db.asgi_dispatch)
4141
```
4242
"""
4343
async with self:

sqlalchemy_database/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def session(self) -> Optional[AsyncSession]:
8282
Example:
8383
```Python
8484
app = FastAPI()
85-
app.add_middleware(BaseHTTPMiddleware, db.asgi_dispatch)
85+
app.add_middleware(BaseHTTPMiddleware, dispatch=db.asgi_dispatch)
8686
8787
@app.get('/get_user')
8888
async def get_user(id:int):

0 commit comments

Comments
 (0)