이 가이드를 사용하여 사용자 지정 권한을 만들려고합니다.
views.py
class CustomModelList(generics.ListAPIView):
queryset = CustomModel.objects.all()
serializer_class = CustomModelSerializer
permission_classes = [IsAuthenticatedOrReadOnly, IsCustomOrReadOnly]
def get(self, request, format=None):
# some logic
def post(self, request, format=None):
# some logic
실험용으로이 권한을 만들었습니다.
pesmissions.py
class IsCustomOrReadOnly(BasePermission):
def has_object_permission(self, request, view, obj):
return False
하지만 POST 요청이 서버로 전송되면 아무 효과가 없습니다. 새 모델 인스턴스를 만들 수 있습니다.
목록보기를 사용하고 있기 때문에 사용자 지정 개체 수준 권한 이 자동으로 확인되지 않는다고 생각합니다 .
또한 일반 뷰는 단일 모델 인스턴스를 검색하는 뷰에 대한 개체 수준 권한 만 확인합니다. 목록보기의 개체 수준 필터링이 필요한 경우 쿼리 집합을 별도로 필터링해야합니다. 자세한 내용은 필터링 문서를 참조하세요.
has_permission
대신 메서드를 재정의하고 작동하는지 확인하거나 권한을 수동으로 확인할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다