241027 SQLAlchemy ORM 객체와 Pydantic 모델

송용진·2024년 10월 27일

SQLAlchemy ORM 객체와 Pydantic 모델은
FastAPI와 같은 웹 프레임워크에서
데이터베이스와 데이터 검증을 효율적으로 처리하기 위해 사용됨

SQLAlchemy ORM 객체
1. 정의
SQLAlchemy는
파이썬의 ORM 라이브러리로,
데이터베이스와 객체 지향 프로그래밍을 연결해주는 역할을 함
ORM 객체는 데이터베이스 테이블과 매핑되는 파이썬 클래스
각 클래스의 속성은 테이블의 컬럼에 해당함

2. 기능
데이터베이스와의 상호작용:
SQLAlchemy ORM 객체를 사용하면
데이터베이스에 대한 CRUD 작업을 파이썬 객체로 쉽게 처리할 수 있음

관계 정의:
테이블 간의 관계(1:N, N:M 등)를 정의할 수 있어,
복잡한 데이터 구조를 쉽게 관리할 수 있음

데이터베이스 독립성:
SQLAlchemy는 다양한 데이터베이스를 지원하므로,
데이터베이스에 대한 코드 변경 없이
다른 데이터베이스로 쉽게 전환할 수 있음

Pydantic 모델
1. 정의

Pydantic은 데이터 검증 및 설정 관리를 위한 파이썬 라이브러리
데이터 모델을 정의하고,
데이터의 유효성을 검증하는 데 사용됨
Pydantic 모델은 데이터 구조를 정의하고,
주어진 데이터의 유효성을 검사함

2. 기능
데이터 검증:
Pydantic은 자동으로 데이터 타입을 검사하고,
잘못된 데이터 형식이 들어오면 오류를

직렬화 및 역직렬화:
Pydantic 모델을 사용하면
JSON과 같은 형식으로 데이터를 쉽게 직렬화하고 역직렬화할 수 있음

설정 관리:
기본값, 필수값 등을 쉽게 정의할 수 있어,
API 요청에 필요한 데이터를 관리하는 데 유용함

결론
SQLAlchemy ORM 객체는
데이터베이스와의 상호작용을 위한 파이썬 클래스를 정의하고,
데이터베이스의 구조를 반영함

Pydantic 모델은 API의 입력 및 출력을 정의하고,
데이터 유효성을 검증하며,
JSON과 같은 형식으로 데이터를 처리하는 데 사용됨

이 두 가지를 함께 사용하면
데이터베이스와 웹 애플리케이션 간의 데이터 흐름을
효율적으로 관리할 수 있음
FastAPI에서는 SQLAlchemy ORM 객체를 통해 데이터베이스와 상호작용하고, Pydantic 모델을 통해 클라이언트의 요청과 응답을 처리함

profile
개발자

0개의 댓글