Как отобразить правильные данные JSON с помощью Django - PullRequest
1 голос
/ 23 марта 2019

Пытаюсь отобразить запись базы данных в виде массивов json.если я запускаю код ниже

views.py

from django.core import serializers
from django.http import HttpResponse

def read(request):
    members = Member.objects.all()
    print("success")
    jsondata = serializers.serialize('json', members)
    return HttpResponse(jsondata, content_type='application/json')

models.py

from django.db import models
class Member(models.Model):
    firstname = models.CharField(max_length=40)
    lastname = models.CharField(max_length=40)

    def __str__(self):
        return self.firstname + " " + self.lastname

получаюОтвет JSON согласно ниже

[
{"model": "crud.member", "pk": 1, "fields": {"firstname": "Thor", "lastname": "Odinson"}},  
{"model": "crud.member", "pk": 6, "fields": {"firstname": "sdd", "lastname": "rrrrr"}}
]

Мои требования: Вот что я хочу.Я хочу получить ответы json следующим образом:

[
{"firstname": "Thorr", "lastname": "Odinson"},  
{"firstname": "Ann", "lastname": "bell"}
]

С этой целью, если я пытаюсь использовать метод JsonResponse() согласно приведенному ниже коду, я получаю сообщение об ошибке Объект QuerySet невызываемый

def read(request):
    #response_data = {}
    response_data = []
    members = Member.objects.all()
    return JsonResponse(response_data, members)
    print("success")

1 Ответ

0 голосов
/ 23 марта 2019

Для вывода, который вы ищете, вызов json.dumps() на выходе QuerySet.values() должен подойти:

members = Member.objects.values('firstname', 'lastname')
jsondata = json.dumps(list(members))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...