2014-03-18 2 views
0

저는 Django 엔드 포인트를 호출하고 제안 배열을 검색하는 데 javascript (AngularJS 및 Restangular 포함)를 사용하고 있습니다. 하지만 장고 문법을 올바르게 구현할 수 없습니다.Django 모델에서 객체 배열을 반환하는 방법

주어진 장고 모델에서 개체를 반환하고 배열하는 방법은 무엇입니까?

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

장고보기 위에 다음과 같은 속성 오류 발생 : 나는 (... 등 아이디, 이름, 질문과) 장고보기 위 제안서의 배열을 받으면 'dict' object has no attribute 'status_code'

나 '를 AngularJS를 사용하여 모든 것을 표시합니다.

답변

4

documentation에서보기 작성시 읽어야합니다. 뷰 함수는 HTTP 응답 객체를 반환해야합니다.

가장 간단한 방법은 당신이 API를 구축하는 경우 만하지만, 난 강력하게 TastyPie 또는 Django-Rest-Framework를 체크 아웃하는 것이 좋습니다 것이다, 그래서

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") 

처럼 장고에서 HttpResponse 개체를 사용하는 것입니다.

+1

Django Rest Framework에 투표하면 각도가 쉽게 사용할 수있는 API를 개발하는 데 도움이되는 많은 도구를 제공하게 될 것입니다. – stormlifter

+0

Ajax와 함께 사용하는 경우'response [ 'success'] = True'를 포함시켜야합니다. – Ford

+0

완벽하게 작동했습니다. 고맙습니다! 나는 응답을 직렬화해야 할 필요가 있음을 알아야했다. –

관련 문제