FastAPI SessionLocal을 통한 테이블 읽기 - 37

2022. 12. 31. 15:00·Develop/FastAPI
728x90
SMALL
SessionLocal을 이용해서 사전에 만들었던 todos 테이블을 읽어오는것이 목표

 

1. SessionLocal을 Import 한다.(31페이지 참고)

from database import engine, SessionLocal

 

2. db connection 객체 만들기

def get_db():
    try:
        db = SessionLocal()
        yield db
    finally:
        db.close()
  • SessionLocal은 callable한 객체로 호출될 때마다 새로운 세션 객체들을 생성
    • callable이란? 호출가능한 클래스 인스턴스, 함수, 메서드 등 객체를 의미한다.
  • get_db는 호출될 때마다 db라는 변수를 생성
  • 생성된 변수 db는 데이터베이스 세션으로 작동하며 한 번의 db 연결동안 존재하며 db 연결에 대한 모든 요청/응답이 종료되면 close()된다.

 

3. orm으로 테이블 전체 테이터 불러오기

#Depends import
from fastapi import FastAPI, Depends
#Session import
from sqlalchemy.orm import Session


@app.get("/")
async def read_all(db: Session = Depends(get_db)):
    return db.query(models.Todos).all()
  • SessionLocal()로 만든 get_db 함수는 db connection을 필요로 하는 endpoint 함수에 dependency로 주입된다.
    • 엔드포인트(endpoint)란 API 서버가 제공하는 통신 채널 혹은 점점이다.
    • 각 endpoint는 고유의 URL주소를 가지게 되며, 이를 통해 해당 endpoint에 접속할 수 있다.
  • Dependency Injection이란 코드의 재활용을 위해 제공해주는 fastapi의 기능이다.
728x90
SMALL
저작자표시 비영리 변경금지

'Develop > FastAPI' 카테고리의 다른 글

FastAPI Post Request를 통한 DB 저장 - 39  (0) 2023.01.04
FastAPI sqlalchemy filter 사용하기(select) - 38  (0) 2023.01.01
FastAPI SQLite3 Setting Up Todos - 36  (0) 2022.12.30
FastAPI SQL Queries Introduction - 35  (0) 2022.12.30
FastAPI Installation of SQLite3 Terminal (Mac) - 34  (0) 2022.12.30
'Develop/FastAPI' 카테고리의 다른 글
  • FastAPI Post Request를 통한 DB 저장 - 39
  • FastAPI sqlalchemy filter 사용하기(select) - 38
  • FastAPI SQLite3 Setting Up Todos - 36
  • FastAPI SQL Queries Introduction - 35
동석해요
동석해요
공부하고 싶은게 많은, 사소한 IT 지식들 공유
개발로 자기계발공부하고 싶은게 많은, 사소한 IT 지식들 공유
    250x250
  • 동석해요
    개발로 자기계발
    동석해요
  • 전체
    오늘
    어제
    • 분류 전체보기 (226)
      • Develop (126)
        • 기초지식 (12)
        • FastAPI (102)
        • Django (11)
      • Database & Data (62)
        • 기초지식 (16)
        • MySQL (29)
        • PostgreSQL (8)
        • 데이터 분석 (9)
      • 인공지능 (11)
        • PyTorch (9)
      • Cloud (8)
        • AWS (4)
        • GCP (2)
      • 버그처리 (14)
      • 회고 & 일상 (5)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
동석해요
FastAPI SessionLocal을 통한 테이블 읽기 - 37

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.