해결된 질문
작성
·
266
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()를 사용하면 세밀하게 조건문을 조정할 수 있다는 장점이 있겠네요!
와 ㅎㄷㄷ 일요일에 빠른답변 감사합니다