2012-10-20 1 views
0

내가 돌아 반환 이후 다음장고 : 루프없이 직접 템플릿에 액세스 원시 SQL 결과 - 한 행

results = listings.objects.get(id = 1) 
: 내보기 기능에서

return render_to_response('mypage.html', { "results":results}) 

은, 나도 같은 결과를 얻을 수 있습니다 나는이 (원시 SQL)과 같은 결과를 얻을 수 있습니다,

{{results.name}} 

또는 :

어떤 경우에는 내가 템플릿에서 직접 사용할 수 있습니다 그런 다음

results = listings.objects.raw(sql_query, [id,]) 

나는 단지 1 개 행 반환 알면서도, 그것을 통해 루프가 있습니다

내가 필요로 무엇
{% for listing in results %} 
    {{listing.name}} 

원시 SQL을 사용할 수 있도록하는 것입니다,하지만 여전히이 없습니다 그것을 통해 반복합니다. 루핑 문제는 결과가 비어 있으면 루프 안의 아무 것도 표시되지 않는다는 것입니다.

답변

0
results = listings.objects.raw(sql_query, [id,])[0] 

또는 사용자 정의 방법 :

def get_results(): 
    from django.db import connection 
    cursor = connection.cursor() 
    cursor.execute(sql) 
    return cursor.fetchone() 
+0

은 첫 번째 방법을 시도하고 나는 그것을 필요 정확히했다. :) – user984003

+0

템플릿 코드를 추가해 주시겠습니까? "필요한 것은 원시 SQL을 사용할 수 있지만 루프를 반복하지 않아도됩니다." 해당 SQL 출력의 내용을 어떻게 출력합니까? –