TIL(22.12.20) - Django testcode 작성시 review 삭제 에러

이지영·2022년 12월 20일
0

TIL/WIL

목록 보기
95/110

에러

place.rating = (place.rating * review_cnt - review.rating_cnt) / (review_cnt - 1)
decimal.DivisionByZero: [<class 'decimal.DivisionByZero'>]

-> 테스트코드 review delete 부분 작성중 리뷰의 개수가 1개일 때 place.rating 을 계산 할 수 없는 에러 발생

# 수정전 reviews/views.py
place.rating = (place.rating * review_cnt - review.rating_cnt) / (review_cnt - 1)

해결

# reviews/views.py
if review_cnt == 1:
	place.rating = 0
else:
  place.rating = (place.rating * review_cnt - review.rating_cnt) / (review_cnt - 1)

조건문을 통해 리뷰의 개수가 1개일 때 place.rating = 0으로 설정한다.

profile
🐶🦶📏

0개의 댓글