class IsSeller(BasePermission):
message = "No Seller object related to User."
def has_permission(self, request, view):
if hasattr(request.user, "user_seller"):
return True
else:
raise PermissionDenied(detail="No Seller object related to User.")
return hasattr(request.user, "user_seller")
커스텀 퍼미션을 만들어주고,
permission_classes = [IsSeller | IsReadOnly]
퍼미션 클래스에서 논리 연산자 실행을 했는데,
else문에서 PermissionDenied를 raise하고 있었기 때문에,
GET요청이 들어와도 코드가 제대로 작동하지 않았음.(논리연산자 실행이 불가능)
class IsSeller(BasePermission):
message = "No Seller object related to User."
def has_permission(self, request, view):
return hasattr(request.user, "user_seller")
True, False 값만 리턴하도록 수정.
'ERROR' 카테고리의 다른 글
암호화 알고리즘 사용 시, max_length 설정 에러 (0) | 2023.07.02 |
---|---|
GenericView perform_create에서 에러 발생시키기 (0) | 2023.06.26 |
테스트 코드 작성 중 .save() 누락 (0) | 2023.06.26 |
WIL 20230619 ~ 20230625 - 최종 프로젝트 주차 3 (0) | 2023.06.26 |
.get과 .filter의 반환값 차이에 따른 에러 (0) | 2023.06.23 |
댓글