2014-03-18 40 views
0

我使用javascript(加AngularJS和Restangular)調用Django端點並檢索提議數組。但我似乎無法讓我的Django語法正確。如何在Django模型中返回對象數組

如何在給定的Django模型中返回和對象數組?

def proposal_api(request): 
    response = {} 
    response['proposal_list'] = Proposal.objects.all() 
    return response 

上述Django的視圖引發以下屬性的錯誤:'dict' object has no attribute 'status_code'

一旦我收到的從上面的Django查看提案陣列(ID,姓名問題,等...)我將使用AngularJS來顯示一切。

回答

4

您需要詳細閱讀documentation的書面意見。一個視圖函數應該返回一個HTTP響應對象。

最簡單的方法是隻使用HttpResponse對象從Django中,像這樣

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,但是,我會強烈建議您籤TastyPieDjango-Rest-Framework

+1

Django Rest Framework的投票,它會給你很多工具,幫助開發一個角度可以輕鬆消費的API。 – stormlifter

+0

如果使用Ajax,還應該包括應該設置'response ['success'] = True'。 – Ford

+0

完美工作。謝謝!我應該知道我需要序列化響應。 –

相關問題