以JSON格式Django从数据库检索数据或记录

以JSON格式Django从数据库检索数据或记录,django,django-views,Django,Django Views,我有这个型号 class Pharmacy(models.Model): name = models.CharField(max_length = 256) contact = models.CharField(max_length = 15) city = models.CharField(max_length = 20) address = models.TextField() lat = models.FloatField() long = models.FloatField() def

我有这个型号

class Pharmacy(models.Model):
name = models.CharField(max_length = 256)
contact = models.CharField(max_length = 15)
city = models.CharField(max_length = 20)
address = models.TextField()
lat = models.FloatField()
long = models.FloatField()

def __str__(self):
    return self.name
它是views.py

def PharmacyJsonList(request):
data = serializers.serialize('json',Pharmacy.objects.all())
return JsonResponse({'data':data})
结果是这种格式

我只需要json格式的字段,不需要这些slush 我可以在类基本视图中执行吗?

试试这个

return JsonResponse({'data': Pharmacy.objects.all()})

在您看来,序列化queryset后,只需在HttpResponse中使用
content\u type=“application/json”
返回您的响应即可

从django.http导入HttpResponse
def PharmacyJsonList(请求):
data=serializers.serialize('json',Pharmacy.objects.all())
返回HttpResponse(数据、内容\u type='application/json'))
另一种方法是对queryset使用
values()
,然后通过
JsonResponse

从django.http导入JsonResponse
def PharmacyJsonList(请求):
数据=列表(Pharmacy.objects.values())
返回JsonResponse({'data':data})

由于您在quotesit中使用引号符号,因此会自动添加这些Slush。它会生成相同的结果。哪一个?第一种方法还是第二种方法?或者两者都给出相同的结果。您是如何检查结果的?非常感谢。它正在工作,但可以像以前一样只得到FieldsName结果。有没有其他方法可以从数据库中以JSON格式检索数据?