限制用户访问APIVi

2024-10-02 14:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我要获取用户的详细信息:

class UserDetailAPIView(RetrieveAPIView):
    """
    User detail information
    """
    queryset = User.objects.filter(is_valid=True).exclude(status=4)
    serializer_class = UserDetailSerializer
    lookup_field = "username"

我想限制其他用户访问这个APIView,我只想管理员用户和它自己的用户访问。你知道吗

如何限制?你知道吗


Tags: 用户trueobjectsinformationis详细信息filterexclude
1条回答
网友
1楼 · 发布于 2024-10-02 14:19:00

你应该定义你自己的权限上课什么的像这样:

from rest_framework import permissions


class OwnerProfilePermission(permissions.BasePermission):
    """object lvl permissions for owner """
    def has_object_permission(self, request, view, obj):
        return obj.user == request.user

在您的视图中包括permission_classes。请参阅DRF文档。 http://www.tomchristie.com/rest-framework-2-docs/api-guide/permissions

而您选择的类基视图很重要。 http://www.tomchristie.com/rest-framework-2-docs/api-guide/generic-views

相关问题 更多 >