有谁知道如何设置删除权限,评论所有者删除评论,管理员删除所有评论
序列化程序.py
class DeleteCommentSerializer(serializers.ModelSerializer):
class Meta:
model = CommentModel
fields = '__all__'
浏览次数.py
class CommentDeleteView(generics.DestroyAPIView):
permission_classes = [IsAdminUser,IsOwner]
queryset = CommentModel.objects.all()
serializer_class = DeleteCommentSerializer
def perform_delete(self, serializer):
serializer.save(user=self.request.user)
权限.py
class IsOwner(BasePermission):
def has_permission(self, request, view):
if request.method in ['PUT','DELETE']:
return True
return False
def has_object_permission(self, request, view, obj):
if request.method in SAFE_METHODS:
return True
return obj.user == request.user
2条答案
按热度按时间jchrr9hc1#
是的,您可以像这样设置此类型的权限:
在用户表中添加字段
当这个字段对用户是真的,这意味着用户是所有者。或者你可以在基础上设置是_超级用户或管理员字段。
azpvetkf2#
我希望它能起作用