猿问

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

序列化程序.py


from rest_framework import serializers

from access.models import SeekerRegister

from .models import CandidateDetails,Social,CvDetails,KeySkills,CandidateCompanyDetails,CandidateEducationDetails,ContactInfo

视图.py


class 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。


噜噜哒
浏览 229回答 1
1回答

慕妹3146593

在 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)
随时随地看视频慕课网APP

相关分类

Python
我要回答