Skip to content

Commit db9b2cf

Browse files
Use scalars
1 parent 0eb012e commit db9b2cf

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

docs_src/async_sql_databases/sql_app/crud.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66

77
async def get_user(db: AsyncSession, user_id: int):
88
db_execute = await db.execute(select(models.User).where(models.User.id == user_id))
9-
return db_execute.first()
9+
return db_execute.scalars().first()
1010

1111

1212
async def get_user_by_email(db: AsyncSession, email: str):
1313
db_execute = await db.execute(select(models.User).where(models.User.email == email))
14-
return db_execute.first()
14+
return db_execute.scalars().first()
1515

1616

1717
async def get_users(db: AsyncSession, skip: int = 0, limit: int = 100):
1818
db_execute = await db.execute(select(models.User).offset(skip).limit(limit))
19-
return db_execute.all()
19+
return db_execute.scalars().all()
2020

2121

2222
async def create_user(db: AsyncSession, user: schemas.UserCreate):
@@ -30,7 +30,7 @@ async def create_user(db: AsyncSession, user: schemas.UserCreate):
3030

3131
async def get_items(db: AsyncSession, skip: int = 0, limit: int = 100):
3232
db_execute = await db.execute(select(models.Item).offset(skip).limit(limit))
33-
return db_execute.all()
33+
return db_execute.scalars().all()
3434

3535

3636
async def create_user_item(db: AsyncSession, item: schemas.ItemCreate, user_id: int):

docs_src/async_sql_databases/sql_app/main.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from typing import List
2+
13
from fastapi import Depends, FastAPI, HTTPException
24
from sqlalchemy.ext.asyncio import AsyncSession
35

@@ -23,37 +25,37 @@ async def get_db():
2325
await session.close()
2426

2527

26-
@app.post("/users/")
28+
@app.post("/users/", response_model=schemas.User)
2729
async def create_user(user: schemas.UserCreate, db: AsyncSession = Depends(get_db)):
2830
db_user = await crud.get_user_by_email(db, email=user.email)
2931
if db_user:
3032
raise HTTPException(status_code=400, detail="Email already registered")
3133
return await crud.create_user(db=db, user=user)
3234

3335

34-
@app.get("/users/")
36+
@app.get("/users/", response_model=List[schemas.User])
3537
async def read_users(
3638
skip: int = 0, limit: int = 100, db: AsyncSession = Depends(get_db)
3739
):
3840
return await crud.get_users(db, skip=skip, limit=limit)
3941

4042

41-
@app.get("/users/{user_id}")
43+
@app.get("/users/{user_id}", response_model=schemas.User)
4244
async def read_user(user_id: int, db: AsyncSession = Depends(get_db)):
4345
db_user = await crud.get_user(db, user_id=user_id)
4446
if db_user is None:
4547
raise HTTPException(status_code=404, detail="User not found")
4648
return db_user
4749

4850

49-
@app.post("/users/{user_id}/items/")
51+
@app.post("/users/{user_id}/items/", response_model=schemas.Item)
5052
async def create_item_for_user(
5153
user_id: int, item: schemas.ItemCreate, db: AsyncSession = Depends(get_db)
5254
):
5355
return await crud.create_user_item(db=db, item=item, user_id=user_id)
5456

5557

56-
@app.get("/items/")
58+
@app.get("/items/", response_model=List[schemas.Item])
5759
async def read_items(
5860
skip: int = 0, limit: int = 100, db: AsyncSession = Depends(get_db)
5961
):

0 commit comments

Comments
 (0)