DoesNotExist vs MultipleObjectsReturned - ORM 예외처리
·
python/Django
ORM을 사용해서 개발을 하다 보면 아래 오류가 종종 발생하고는 합니다.User.DoesNotExist: User matching query does not exist. 처음에는 ORM이 잘 작동했지만 서비스에서 트랙픽이 증가하고, 데이터가 누적되기 시작하면서예외가 빈번하게 발생했습니다. 먼저 발생원인에 대해 확인하면get( ) 메서드의 핵심 특징을 알아야합니다. get( )은 단 하나의 레코드만 존재할 때만 성공합니다.그 외엔 무조건 예외를 발생시킵니다. 예외 발생 조건 원인 DoesNotExist해당 조건에 맞는 결과가 0개삭제되었거나 조건이 잘못됨MultipleObjectsReturned결과가 2개 이상일 때중복 데이터 또는 unique 제약 누락 예외를 처리하지 않으면 서버에서 500에러가 발..