ORM에서 Core와 동일하게 많은 것들이 작동합니다. 한 가지 다른 점은 연결 실행 방법 대신 세션을 사용한다는 것입니다.
ID로 가져오기
만약 ID로 사용자를 가져오고 싶다면, 두 가지 옵션이 있습니다. session.query와 session.get을 사용할 수 있습니다.
세션에서 get 메서드를 직접 사용할 수 있으며, Todo 클래스와 기본 키를 전달해야 합니다.
from sqlalchemy import create_engine, Column, Integer, Text
from sqlalchemy.orm import Session, DeclarativeBase
class Base(DeclarativeBase):
pass
class Todo(Base):
__tablename__ = "todos"
id = Column(Integer, primary_key=True)
label = Column(Text, nullable=False)
status = Column(Text, nullable=False)
# Base.metadata.drop_all(engine)
# Base.metadata.create_all(engine)
todos = [
Todo(label="Walk a dog", status="doing"),
Todo(label="Shopping", status="in_progress"),
]
with Session(engine) as session:
# session.add_all(todos)
# session.commit()
result = (
session.get(Todo, 1)
)
print(result.id, result.label, result.status) # 1 Walk a dog doing
기본 키를 사용하지 않거나 다른 열에서 검색하려는 경우 where 메서드를 사용할 수 있습니다. 이 경우에는 예를 들어서...