[Django] create() vs perform_create()
·
Python/Django
create가 perform_create의 super set과 같다고 보면 쉽다. perform_create는 기본적으로 create 내에 포함되는 메서드로, 객체가 성공적으로 생성되었을 때 호출된다. 따라서 해당 메서드 내에서 예외가 발생해도 perform_create는 호출되기 전의 상태로 롤백해주지 않는다. 만약 예외가 발생했을 때 적절한 응답을 반환받고 싶다면 perform_create 메서드 이전 단계에서 예외 처리를 해야 하며, 이 부분을 작업하기 위해서는 create 메서드를 오버라이딩 해야한다. 예외 처리 -> create 메서드를 오버라이드예외가 발생하지 않을 때(즉, 정상적으로 처리되었을 때에만) -> perform_create perform_create에서는 대충 모델의 필드 값을 다..