2017-01-31 2 views
0

현재 홈페이지/색인 페이지의 개발 데이터베이스에있는 모든 레코드에 대한 링크 목록을 장고에 표시하려고합니다. 내 데이터베이스에 이미 몇 개의 샘플 기록을 가지고 있고 각 레코드는 ID를 가지고와 함께 위치 할 수 쉘을 사용하여 확인했습니다Django가 잘못된 속성을 반환했습니다.

from django.http import HttpResponse 
from .models import GvData 


def index(request): 
    all_geneva_data = GvData.objects.all() 
    html = '' 

    for data in all_geneva_data: 
     url = '/geneva/' +str(GvData.id) + '/' 
     html += '<a href="' + url + '">title</a><br>' 
    return HttpResponse(html) 

: 같은

내 views.py 코드가 보인다 model.objects.filter(id='#').

이 코드는 링크 생성에 성공했지만 링크는 페이지를 찾을 수 없음 오류를 반환합니다. 대신 레코드 ID의 정수 값을 배치의, 어떤 URL에 배치됩니다입니다

%3Cdjango.db.models.query_utils.DeferredAttribute%20object%20at%200x0452BF10%3E 

이유는 URL 패턴의 문자열로 id 캐스트의 int 값 대신이 무엇입니까?

답변

2

당신이 그것을 한

for data in all_geneva_data: 
      url = '/geneva/' +str(data.id) + '/' 
+0

객체 인스턴스 대신 개체 모델을 참조한다. 매우 명확하고 간결한 응답. 나는 그 사실을 알지 못했다. –

관련 문제