with transaction.atomic():

정은경·2021년 10월 28일
0

Transaction

  • ORM의 디폴트 동작은 매번 쿼리가 호출될때마다 autocommit
  • 예) .create() 또는 .update() 동작할 때마다 바로 sql 데이터베이스 생성/업데이트
  • 그런데! 만약 한 view에서 2개 이상의 모델을 수정하는 경우, 1번 모델을 수정하고나서 2번모델을 수정하는 등의 transaction을 보장할 수가 없음!

atomic request

with transaction.atomic():
    # this code executes inside a transaction
    flavor.status = status
    flavor.latest_status_change_success = timezone.now()
    flaver.save()
    return HttpResponse('Horray')

Reference

  • 책/투스쿱3.x
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글