如何在Django模型中返回对象数组
我正在使用JavaScript(加上AngularJS和Restangular)来调用一个Django的接口,想要获取一个提案的数组。但是我好像写错了Django的语法。
我该如何在Django模型中返回一个对象数组呢?
def proposal_api(request):
response = {}
response['proposal_list'] = Proposal.objects.all()
return response
上面的Django视图出现了一个属性错误:'dict'对象没有'status_code'这个属性
一旦我从上面的Django视图获取到提案的数组(里面有ID、名称、问题等等),我就会用AngularJS把这些内容展示出来。
1 个回答
7
你需要去看看关于在文档中如何写视图的内容。视图函数应该返回一个HTTP响应对象。
最简单的方法就是直接使用Django里的HttpResponse
对象,像这样:
from django.core import serializers
from django.http import HttpResponse
def proposal_api(request):
response = {}
response['proposal_list'] = serializers.serialize("json", Proposal.objects.all())
return HttpResponse(response, content_type="application/json")
不过,如果你是在构建一个API,我强烈建议你去了解一下TastyPie或者Django-Rest-Framework。