티스토리 뷰

Backend/FastAPI

[FastAPI] 페이징 처리

mopil 2022. 7. 16. 02:16
반응형

# 페이징 기본

unit_per_page = 5
offset = page * unit_per_page
db.query(Gallery).offset(offset).limit(unit_per_page).all()

offset과 limit을 활용해서 페이징을 처리한다.

 

# 정렬 기준을 넣고 싶을 때

 

unit_per_page = 5
offset = page * unit_per_page
db.query(Gallery).order_by(desc(Gallery.created_time)).offset(offset).limit(unit_per_page).all()

offset 앞에 order_by 옵션을 넣어준다.

 

# 사용예시

# 갤러리 - 사진/그림 리스트 반환
@router.get("/gallery")
async def get_all_gallery(page: int, db: Session = Depends(get_db)):
    unit_per_page = 5
    offset = page * unit_per_page
    return db.query(Gallery).order_by(desc(Gallery.created_time)).offset(offset).limit(unit_per_page).all()

 

반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크