以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格式检索数据?