我只想让对象创建者能够看到他们的对象
因此,我想验证用户是否等于对象的created_by
字段
我仅使用APIView
或GenericAPIView
作为我的视图:
class CertificateDetailApi(APIView):
permission_classes = [IsCreator]
class OutputSerializer(serializers.ModelSerializer):
class Meta:
model = Certificate
fields = ('__all__')
def get(self, request, pk):
certificate = get_object_or_404(Certificate, pk=pk)
serializer = self.OutputSerializer(certificate)
return Response(serializer.data)
以下是我的权限:
class IsCreator(BasePermission):
def check_object_permissions(self, request, view, obj):
return obj.created_by == request.user
我的问题是check_object_permissions()
方法从未被调用
我所尝试的:
GenericAPIView
替换APIView
return Response(serializer.data)
之前调用视图中的check_object_permissions()
get_object()
方法这些解决方案都不起作用
我不明白该怎么称呼check_object_permissions()
欢迎任何帮助
您将错误的方法调用为documented
那么你的情况呢
您必须将check\u object\u permission函数替换为has\u object\u permission
相关问题 更多 >
编程相关推荐