为了账号安全,请及时绑定邮箱和手机立即绑定

如果查询集,如何在 Django 控制台中打印 api

如果查询集,如何在 Django 控制台中打印 api

噜噜哒 2021-10-12 15:11:29
序列化程序.pyfrom rest_framework import serializersfrom access.models import SeekerRegisterfrom .models import CandidateDetails,Social,CvDetails,KeySkills,CandidateCompanyDetails,CandidateEducationDetails,ContactInfo视图.pyclass AdvanceSearchViewSet(viewsets.ReadOnlyModelViewSet):    queryset =  SeekerRegister.objects.all()    serializer_class = MainSeekerSerializer    def get_queryset(self):        queryset = SeekerRegister.objects.all()        if self.request.query_params.get('skills_any', None) is not None:            skills_any = self.request.query_params.get('skills_any', None).split(",")        else:            return JsonResponse({"code":401,"msg":"skills_any is required"})        if self.request.query_params.get('skills_must', None) is not None:            skills_must = self.request.query_params.get('skills_must', None).split(",")        else:            skills_must = None        if (skills_any is not None         and skills_must is None:            filters =  Q(key_skills__skills__in=skills_any) & Q(key_skills__skills__in=skills_must)        else:            filters =  Q(key_skills__skills__in=skills_any)        queryset = queryset.filter(filters)        print(queryset)        return queryset结果在浏览器中:    [     {        "key_skills": [          {            "id": 1,            "skills": "python",            "versions": "3.600",            "experience": "2.000",            "user": 3          },          {            "id": 4,            "skills": "angular",            "versions": "3.600",            "experience": null,            "user": 3          },          {            "id": 5,            "skills": "java",            "versions": "16.060",            "experience": null,            "user": 3          }        ]      }    ]在当我打印控制台查询集它是未来 无论我在浏览器中获得什么,我如何才能在控制台中获得 api。因为我已经在编辑一些技能的字典。请看一看。我有分片序列化程序和查看文件。有没有办法修改api。
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

在 api end 中检查结果或控制台以覆盖您的视图集的列表端点并在那里打印/控制台的可能解决方案之一。


在您的 AdvanceSearchViewSet 中添加此功能。


def list(self, request, *args, **kwargs):

        queryset = self.filter_queryset(self.get_queryset())


        page = self.paginate_queryset(queryset)

        if page is not None:

            serializer = self.get_serializer(page, many=True)

            return self.get_paginated_response(serializer.data)


        serializer = self.get_serializer(queryset, many=True)

        // print here 

        print('response', serializer.data)

        return Response(serializer.data)


查看完整回答
反对 回复 2021-10-12
  • 1 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号