不登录请求api接口配置完成了也无法获取数据,需要登录后才能请求到

发布于 2022-06-27 18:25:40

当设置 authentication_classes = [] 和 permission_classes = [],能执行,但是返回的结果是 暂无数据(数据库确定是有数据的),但是好像只执行了权限相关的sql,并没有执行我要的sql,命令行输出如下:

[2022-06-27 18:20:10][django.db.backends.debug_sql():123] [DEBUG] (0.000) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
[2022-06-27 18:20:10][django.db.backends.debug_sql():123] [DEBUG] (0.000) SELECT `dvadmin_api_white_list`.`url` AS `permission__api`, `dvadmin_api_white_list`.`method` AS `permission__method` FROM `dvadmin_api_white_list` WHERE NOT `dvadmin_api_white_list`.`enable_datasource` ORDER BY `dvadmin_api_white_list`.`create_datetime` DESC; args=()
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /api/enterprise/company_manage/company_client_manage/ HTTP/1.1" 200 10785
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/css/prettify.css HTTP/1.1" 200 817
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/css/bootstrap-tweaks.css HTTP/1.1" 200 3385
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/css/default.css HTTP/1.1" 200 1152
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/jquery-3.5.1.min.js HTTP/1.1" 200 89476
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/ajax-form.js HTTP/1.1" 200 3597
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/css/bootstrap.min.css HTTP/1.1" 200 121457
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/bootstrap.min.js HTTP/1.1" 200 39680
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/default.js HTTP/1.1" 200 1268
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/csrf.js HTTP/1.1" 200 1719
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/js/prettify-min.js HTTP/1.1" 200 13632
[2022-06-27 18:20:10][django.server.log_message():161] [INFO] "GET /static/rest_framework/img/grid.png HTTP/1.1" 200 1458
[2022-06-27 18:20:10][django.server.log_message():161] [WARNING] "GET /static/rest_framework/css/bootstrap.min.css.map HTTP/1.1" 404 1980

views代码如下


class CaptchaView(CustomModelViewSet):

    
    # import_serializer_class = CompanyManagImportSerializer
    serializer_class = CompanyManageSerializer
    authentication_classes = []
    permission_classes = []
    queryset = Company.objects.all()

    @swagger_auto_schema(
        responses={"200": openapi.Response("获取成功")},
        security=[],
        operation_id="captcha-get",
        operation_description="验证码获取",
    )
    
    def getList(self, request):
        print(1111111111111111)

        data = {}
    
        """
        获取所有 公司信息
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        # 如果懒加载,则只返回父级
        queryset = self.filter_queryset(self.get_queryset())
        lazy = self.request.query_params.get('lazy')
        parent = self.request.query_params.get('parent')
        if lazy:
            # 如果懒加载模式,返回全部
            if not parent:
                if self.request.user.is_superuser:
                    queryset = queryset.filter(parent__isnull=True)
                else:
                    queryset = queryset.filter(id=self.request.user.dept_id)
            serializer = self.get_serializer(queryset, many=True, request=request)
            return SuccessResponse(data=serializer.data, msg="获取成功")

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True, request=request)
            return self.get_paginated_response(serializer.data)
        serializer = self.get_serializer(queryset, many=True, request=request)

        return SuccessResponse(data=serializer.data, msg="获取成功")


       

urls代码如下

path(r'company_manage/company_client_manage/', CaptchaView.as_view({'get': 'getList'}), name="token_obtain_pair"),

请求结果如下

HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "code": 2000,
    "msg": "暂无数据",
    "data": {
        "page": 1,
        "total": 0,
        "limit": 10,
        "data": []
    }
}

查看更多

关注者
0
被浏览
1.1k
3 个回答
747357766@qq.com
747357766@qq.com 2022-06-28
这家伙很懒,什么也没写!

已经解决了

xzy
xzy 2022-11-11
这家伙很懒,什么也没写!

请问如何解决的

Jon
Jon 2023-06-05
这家伙很懒,什么也没写!

请问怎么解决

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览