我是Django的新手。我使用DRF创建了REST API。我的Django有3个应用程序。所以现在我想应用身份验证。我看到了很多帮助,但我不能正确应用身份验证。我还希望模型应该附加到用户身上。这样一个用户就无法看到另一个用户条目。任何人都可以帮我讲述如何实现这一点吗?
提前致谢。如果有人回答,将会是一个很大的帮助。
答案 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)