Как получить последнюю запись на основе некоторого параметра в django-rest-framework

я пытаюсь получить latest запись на основе параметра, но когда я использую (latest(), last(), earliest(), order_by('-id')[0], latest('-id')) все эти методы в queryset, я получаю пустую запись, пожалуйста, помогите мне.

@api_view(['GET'])
@permission_classes((IsAuthenticated,))
def details(request):
    if request.method == 'GET':
        category=request.query_params.get('category')
        name=request.query_params.get('name')
        try:
            d=Employee.objects.filter(category=category,name=name).latest()
            response_data=EmployeeSerializer(d,many=True).data
            return JsonResponse({"message": "detail retrieval","error":False,"code":200,"results":{"totalItems":d.count(),"pageData":response_data,"totalPages":1,"currentPage":0}}, status=HTTP_200_OK)
        except:
            return JsonResponse({"message": "details not exist","error":True,"code":200,"results":{}}, status=HTTP_200_OK)
@api_view(['GET'])
@permission_classes((IsAuthenticated,))
def details(request):
    if request.method == 'GET':
        category=request.query_params.get('category')
        name=request.query_params.get('name')
        try:
            d=Employee.objects.filter(category=category,name=name).latest('id')
            serializer=EmployeeSerializer(d)
            return JsonResponse({"message": "detail retrieval","error":False,"code":200,"results":{"totalItems":d.count(),"pageData":serializer.data,"totalPages":1,"currentPage":0}}, status=HTTP_200_OK)
        except:
            return JsonResponse({"message": "details not exist","error":True,"code":200,"results":{}}, status=HTTP_200_OK)
Вернуться на верх