spring이나 django를 쓰다보면 한 view에서 쿼리를 여러 번 날려야하고, 여러 개의 쿼리 중 어떤 부분이 잘못 되었을 때 모두 롤백을 해야하는 상황이 생긴다. spring에서 @transaction을 써서 처리할 수 있듯이 django에서도 transaction.atomic()과 같은 context를 쓰면 여러 개의 쿼리를 하나 즉, atomic이니까 더이상 나눌 수 없는 transaction으로 만들 수 있다.

django에서 model을 다룰 때 .save(commit=False)을 유용하게 쓰듯이 transaction.atomic()도 잘 사용하면 유용하게 쓸 수 있다.

아래 링크는 공식문서로 자세한 내용을 확인할 수 있다.(django 3.2)

https://docs.djangoproject.com/en/3.2/topics/db/transactions/

 

Database transactions | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

+ Recent posts