본문 바로가기

TIL/개인공부

[ORM] Python SQLAlchemy 내용 정리하기 (WIP)

반응형

ORM

Object Relational Mapper(ORM) 데이터베이스에서의 테이블의 데이터와 코드상의 객체와 연결을 지어주는 맵퍼

filter_by & where & filter 차이

filter: 복잡한 조건을 추가할 때 사용

from sqlalchemy import and_

query = session.query(User).filter(User.name == 'Alice', User.age > 20)
# 또는
query = session.query(User).filter(and_(User.name == 'Alice', User.age > 20))

 

filter_by: 키워드 인수로 조건을 지정, 하지만 복잡한 조건에는 적합하지않음

query = session.query(User).filter_by(name='Alice', age=20)

 

where: SQLAlchemy 1.4버전에서 추가됐고 filter와 동일한 기능을 하지만, select()문법과 잘맞음.

from sqlalchemy import select

stmt = select(User).where(User.name == 'Alice')
반응형