Django Rest框架身份验证问题
问题描述:
我是Django的新手。我使用DRF创建了REST API。我的Django有3个应用程序。所以现在我想申请认证。我看到了很多帮助,但我没有正确应用认证。我也希望模型应该附加到用户。这样一个用户就看不到其他的用户条目。任何人都可以帮助我告诉如何实现这一点细节?Django Rest框架身份验证问题
在此先感谢。如果有人回答会很有帮助。
答
您可以添加自定义权限,
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)
你尝试过什么到目前为止?显示部分代码.. – zaidfazil
我已经包含在模型中的一个店主: '所有者= models.ForeignKey( 'auth.User',related_name = '工作',on_delete = models.CASCADE)' 在视图中我有包括: 'permission_classes =(permissions.IsAuthenticated,)' – adarsh