ERROR
퍼미션 논리연산시, Error raise
코드뭉치
2023. 6. 26. 13:52
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 값만 리턴하도록 수정.