• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

sqlalchemy delete 관련 질문

24.01.14 17:09 작성 조회수 123

0

def delete_todo(session: Session, todo: ToDo) -> None:
    session.execute(delete(ToDo).where(ToDo.id == ToDo.id))
    session.commit()

Delete 부분 구현을 이렇게 하셨는데 session.delete 말고 session.execute 로 구현하신 이유가 있을까요?

sqlalchemy documentation에서도 example에는 이런식으로 되어있는데

# mark two objects to be deleted
session.delete(obj1)
session.delete(obj2)

# commit (or flush)
session.commit()

혹시 제가 모르는 인사이트가 있으신가 조심스레 여쭤봅니다

답변 1

답변을 작성해보세요.

1

안녕하세요! 특별한 의도를 가지고 execute()를 사용한 것은 아닙니다. 이제보니 delete() 문법이 더 간결하고 좋은 것 같네요 😃

지금 예시에는 해당되지 않지만, execute()를 사용하면 세밀하게 조건문을 조정할 수 있다는 장점이 있겠네요!

한건우님의 프로필

한건우

질문자

2024.01.14

와 ㅎㄷㄷ 일요일에 빠른답변 감사합니다