0
django-rest-framework로 django-guardian 객체 레벨 권한을 가장 깔끔하게 관리 할 수 있습니다.django-rest-framework로 객체 레벨 권한을 설정하십시오.
POST를 수행 할 때 요청을하는 사용자에게 객체의 읽기 권한 (module.view_object)을 할당하려고합니다.
내 클래스 기반 뷰 :
django-rest-framework documentation에서 설명한 바와 같이class ObjectList(ListCreateAPIView):
queryset = Object.objects.all()
serializer_class = ObjectSerializer
filter_backends = (DjangoObjectPermissionsFilter,)
# MyObjectPermissions inherit from DjangoObjectPermissions and just
# add the 'view_model' permission
permission_classes = (MyObjectPermissions,)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
, 나는 시리얼에 사용자를 통과하기 위해 perform_create
를 오버로드했습니다.
하지만 serializer에서 (guardian.shortcuts.assign_perm을 사용하여) 권한을 어떻게 할당합니까? 수동으로 사용 권한을 할당하려면 save
메서드를 재정의 할 수밖에 없습니까? 이 같은 공통적 인 행동을 관리하기위한 표준 메커니즘이 있습니까?
perform_create()에서 권한을 할당 할 수 있습니다. 'serializer.save()'메소드는 저장되었던 인스턴스를 반환합니다. 당신은 –
답을 받아 들일 것입니다. –