Django限制模型访问

2024-04-19 23:33:55 发布

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

我使用的是Django、Django Rest框架和夹层。在

我已经设置了以下内容设置.py对于DRF-

'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.SessionAuthentication',
),

'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
),

如果没有登录,我就不能访问这些页面。到目前为止还不错。在

然后我对我的模型.py-在

^{2}$

再说一遍,一切正常。现在,当我进入我的应用程序上的用户和组的管理面板时,我可以看到这个选项。在

然后将djangModelPermissions添加到设置.py在

'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.SessionAuthentication',
),

'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
    'rest_framework.permissions.DjangoModelPermissions',
),

还有我的视图.py仍然继续拉页面,即使我没有设置用户对该模型的查看权限。在

class File_List(generics.ListAPIView):
    model = tablename
    serializer_class = tablename_compositesSerializer

    def get_queryset(self):
        """
        This view should return a list of all the purchases for
        the user as determined by the username portion of the URL.
        """
        filename = self.request.GET.get('filename')
        model = get_model('database', filename)
        filedate = self.request.GET.get('filedate')
        queryset = model.objects.using('testdb').filter(Date__contains=filedate)
        return queryset

我在限制用户访问模型方面做错了什么?在


Tags: the用户py模型selfrestdefaultpermissions