Sorry for my English. I have some data from another server, but I need to output this data like JSON.
if i print response in console:
{ 'responseStatus': { 'status': [], }, 'modelYear': [ 1981, 1982 ] }
but, if i return this response like HttpResponse
i have an error
AttributeError: ‘str’ object has no attribute ‘_meta’
this my code:
data = serializers.serialize('json', response, ensure_ascii=False) return HttpResponse(data, content_type="application/json")
UPD:
I tried with this:
from django.http import JsonResponse def some_view(request): ... return JsonResponse(response, safe=False)
but have error:
Object of type ‘ModelYears’ is not JSON serializable
UPD:
I did like this:
import json from django.http import JsonResponse def some_view(request): ... return JsonResponse(json.loads(response))
but have error:
the JSON object must be str, bytes or bytearray, not 'ModelYears'
Advertisement
Answer
The Django docs says the following about the serializers
framework:
Django’s serialization framework provides a mechanism for “translating” Django models into other formats.
The error indicates that your variable response
is a string
and not an Django model object. The string seems to be valid JSON
so you could use JsonResponse:
import json from django.http import JsonResponse # View return JsonResponse(json.loads(response))