[Django]-Django Rest Serializer returns empty

8👍

You should use many=True serializer’s argument to serialize multiple objects. Also you can pass serializer.data directly as Response argument:

@api_view(['GET'])
@permission_classes((permissions.AllowAny,))
def get_all_workers(request):
    data = Workers.objects.using('rh').all().order_by('emp_cod')
    serializer = WorkersSerializer(data, many=True)
    return Response(serializer.data)

Since your view return so many objects at once, I suggest you to add pagination:

from rest_framework.pagination import PageNumberPagination

@api_view(['GET'])
@permission_classes((permissions.AllowAny,))
def get_all_workers(request):
    data = Workers.objects.using('rh').all().order_by('emp_cod')
    paginator = PageNumberPagination()
    paginator.page_size = 10
    result_page = paginator.paginate_queryset(data, request)
    serializer = WorkersSerializer(result_page, many=True)
    return Response(serializer.data)

Leave a comment