Как исправить формат, заданный JsonResponse

Я распечатываю вывод своей функции представлений в Django с помощью JsonResponse и хочу исправить вывод и включить только определенные поля. Как мне продолжить?

Функция:

    influencers = Influencer.objects.all()

    influencer_data = serializers.serialize("json",influencers)    
    context = {
        'influencer_data':influencer_data,
    }

    return JsonResponse(context)

Выходное / возвращаемое значение:

{"influencer_data": "[{\"model\": \"influencer_listings.influencer\", \"pk\": 7250, \"fields\": {\"full_name\": \"Be Yourself\", \"username\": \"tapasya_agnihotri\", \"photo\": \"\", \"email_id\": \"\", \"external_url\": \"\", \"location_city\": \"Kolkata\" Вывод аналогичен приведенному выше. Однако я хочу, чтобы вывод был без косых черт. Также почему JsonResponse печатает косые черты.


person Ahmad Javed    schedule 10.06.2019    source источник


Ответы (2)


Вы сериализуете дважды. Если вы используете встроенные сериализаторы, вам нужно просто использовать HttpResponse и напрямую возвращать данные:

influencer_data = serializers.serialize("json",influencers)    

return HttpResponse(influencer_data, content_type="application/json")
person Daniel Roseman    schedule 10.06.2019

Как я уже упоминал здесь, Как сериализовать экземпляр модели в Django?, используйте _1 _ сериализатор вместо json

influencers = Influencer.objects.all()

influencer_data = serializers.serialize("python",influencers)    
context = {
    'influencer_data':influencer_data,
}

return JsonResponse(context)
person JPG    schedule 10.06.2019