你知道吗序列化程序.py你知道吗
from rest_framework import serializers
from access.models import SeekerRegister
from .models import CandidateDetails,Social,CvDetails,KeySkills,CandidateCompanyDetails,CandidateEducationDetails,ContactInfo
class MainSeekerSerializer(serializers.ModelSerializer):
class Meta:
model = SeekerRegister
fields = ('contact_info',
'candidate_details','social',
'cv_details','key_skills',
'candidate_company_details',
'candidate_education_details',
'seeker_language',
'seeker_name','seeker_email',
'seeker_contact_no','verified')
depth = 1
你知道吗视图.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。你知道吗
其中一个可能的解决方案是在api end中检查result或console以覆盖viewset的list端点,并在那里打印/控制台。你知道吗
在AdvanceSearchViewSet中添加此函数。你知道吗
相关问题 更多 >
编程相关推荐