Django Rest框架身份验证问题

时间:2017-07-04 07:10:14

标签: django authentication django-rest-framework

我是Django的新手。我使用DRF创建了REST API。我的Django有3个应用程序。所以现在我想应用身份验证。我看到了很多帮助,但我不能正确应用身份验证。我还希望模型应该附加到用户身上。这样一个用户就无法看到另一个用户条目。任何人都可以帮我讲述如何实现这一点吗?

提前致谢。如果有人回答,将会是一个很大的帮助。

1 个答案:

答案 0 :(得分:0)

您可以添加自定义权限

class IsOwnerOnlyAllowed(permissions.BasePermission):

    def has_object_permission(self, request, view, obj):
        return obj.owner == request.user

您可以添加permission_classes = (IsOwnerOnlyAllowed,)

此外,您可以覆盖视图的queryset属性,以仅提供与登录用户相关的条目。

修改您的观点,

from rest_framework import generics 
from .models import DatasetModel 
from .serializer import DatasetSerializer 

class DatasetView(generics.ListCreateAPIView):
    queryset = DatasetModel.objects.all() 
    serializer_class = DatasetSerializer

    def get_queryset(self):
        return self.queryset.filter(owner=self.request.user)