본문 바로가기
ERROR

.get과 .filter의 반환값 차이에 따른 에러

by 코드뭉치 2023. 6. 23.

CartView의 Post요청 중
이미 존재하는 상품이면 상품 개수만큼 추가로 더해주는 기능을 만들기 위해

cart = CartItem.objects.filter(product=request.data["product"])

그런데 filter를 사용하면 값이 1개여도 queryset을 반환하여 코드가 생각대로 작동하지 않음.
따라서 객체를 반환하도록 하기 위해 filter를 get으로 변경.

try:
    cart = CartItem.objects.get(product=request.data["product"])
    
except CartItem.DoesNotExist:
    ...

DoesNotExist 에러 예외처리를 위해  try - except 구문을 사용

댓글