0

我返回以下内容:

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

在我的视图函数中,我可以得到这样的结果:

results = listings.objects.get(id = 1)  

在这种情况下,我可以直接在模板中使用它:

{{results.name}}

或者,我可以得到这样的结果(原始 sql):

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

然后我必须遍历它,即使我知道它只返回 1 行:

{% for listing in results %}
     {{listing.name}}

我需要的是能够使用原始 sql,但仍然不必遍历它。循环的问题是,如果结果为空,则循环内不会显示任何内容。

4

1 回答 1

1
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()
于 2012-10-20T17:36:04.887 回答