【发布时间】:2019-03-23 19:00:29
【问题描述】:
我正在尝试将数据库记录显示为 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")
【问题讨论】:
标签: django