【发布时间】:2020-08-03 08:04:24
【问题描述】:
在我使用数据库引擎 djongo 的 django 应用程序中,我试图通过从我的数据库中检索来返回 JSON 响应。但是,我收到的是 JSON 数组而不是 JSON 对象。目前,我的数据库中只有一条记录。请看下面的代码。
模型.py
class bloodDonors(models.Model):
location=models.CharField(max_length=20)
name=models.CharField(max_length=20)
phone=models.IntegerField()
address=models.TextField()
bloodGroup=models.CharField(max_length=5)
type=models.CharField(max_length=20)
def __str__(self):
return self.name
views.py
class bloodDonersView(viewsets.ModelViewSet):
queryset = bloodDonors.objects.all()
serializer_class = bloodDonorsSerializer
JSON 响应:
[
{
"id": 3,
"location": "Delhi",
"name": "Tony",
"phone": 888,
"address": "South street",
"bloodGroup": "B+",
"type": "blood-donation"
}
]
但是,实际上我需要如下回复:
{
"id": 3,
"location": "Delhi",
"name": "Tony",
"phone": 888,
"address": "South street",
"bloodGroup": "B+",
"type": "blood-donation"
}
【问题讨论】:
-
发送外部列表不是一个好主意:haacked.com/archive/2008/11/20/…
-
.all()查询将始终返回一个数组或 djongo 调用的“查询集”,因为您的数据库可能有多个记录。因此,您需要迭代您的数组或显式提取该数组中的 JSON 对象。当你得到你的 JSON 数组时,遍历它(for 循环或 while 循环或迭代器) -
使用迭代器如何通过 JSON 响应发送数据?