CommentCreate是一个CreateAPIView
,用于在另一个“report”模型上发布评论。我需要阻止任何不是报告作者或未经允许的人员组的人使用此端点创建评论。
class CommentCreate(generics.CreateAPIView):
serializer_class = CommentSerializer
queryset = Comment.objects.none()
def check_object_permissions(self, request, obj):
if obj.report.creator != request.user:
# also check if request.user is in the group of people that can comment
raise exceptions.PermissionDenied(
detail='You do not have permission')
我面临的问题是,虽然调用了
check_object_permissions
函数,但无论如何异常都没有被捕获,因此评论会像往常一样发布。我在这里缺少什么?