Объект Django типа ‘type’ не имеет len()

#python #django

#python #django

Вопрос:

мы не можем получить http-ответ в виде json. Ошибка, с которой мы столкнулись:

 TypeError at /ui/subfix/3
object of type 'type' has no len()
Request Method:GETRequest 
  

Пример кода:

 @api_view(('POST',))
@csrf_exempt
@renderer_classes(JSONRenderer,)
def project_image_alternative_form_submit_ajax(request, object_id):
    project_image = ProjectImage.objects.filter(pk=object_id).first()
    response_json = {
            'message': 'Image ...',
    }
    return Response(response_json, status=status.HTTP_200_OK)
  

Ответ №1:

здесь вы можете использовать serializer для сериализации данных перед отправкой ответа. Если вы хотите вернуть ответ json, вы можете попробовать этот способ

 from django.http import JsonResponse

@api_view(('POST',))
@csrf_exempt
@renderer_classes(JSONRenderer,)
def project_image_alternative_form_submit_ajax(request, object_id):
    project_image = ProjectImage.objects.filter(pk=object_id).first()
    response_json = {
            'message': 'Image ...',
    }
    return JsonResponse(response_json)