# settings/base.py
DATABASES = {
'default': {
'ATOMIC_REQUEST': True,
}
}
장고에서는 ATOMIC_REQUEST 설정을 통해 모든 웰 요청을 트랜잭션으로 쉽게 처리 할수 있다. 위의 코드처럼 설정하면 읽기 데이터를 포함한 모든 요청이 트랜잭션으로 처리되게 할 수 있다. 이러한 구조의 장점은 모든 데이터베이스 쿼리가 보호되는 안정성을 얻을 수 있다는 것이다. 반면에 성능 저하를 가져 올수 있다. 얼마만큼의 성능 저하인지에 대해서는 데이터베이스의 개별적인 디자인이 어떤지 각 데이터베이스가 얼마나 락을 잘 처리하는지에 떄라 다양한 경우가 나올 수 있다.
성능 문제가 정말심각하지 않는 한 ATOMIC_REQUEST 이용한다. 대부분의 사이트에서는 충분하다
명시적인 트랜잭션 선언은 사이트 성능을 개선하는 방법중에 하나이다. 트랜잭션에 관련한 몇가지 가이드라인을 정리하면 다음과 같다.