Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:直接在模板中访问原始sql结果而不进行循环-因为只返回一行_Django_Templates - Fatal编程技术网

Django:直接在模板中访问原始sql结果而不进行循环-因为只返回一行

Django:直接在模板中访问原始sql结果而不进行循环-因为只返回一行,django,templates,Django,Templates,我返回以下文件: return render_to_response('mypage.html', { "results":results}) 在我的视图函数中,我可以得到如下结果: results = listings.objects.get(id = 1) 在这种情况下,我可以在模板中直接使用它: {{results.name}} 或者,我可以得到如下结果(原始sql): 然后我必须遍历它,即使我知道它只返回1行: {% for listing in results %}

我返回以下文件:

 return render_to_response('mypage.html', { "results":results})
在我的视图函数中,我可以得到如下结果:

results = listings.objects.get(id = 1)  
在这种情况下,我可以在模板中直接使用它:

{{results.name}}
或者,我可以得到如下结果(原始sql):

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

{% for listing in results %}
     {{listing.name}}
我需要的是能够使用原始sql,但仍然不必循环使用它。循环的问题是,如果结果为空,则循环内不会显示任何内容

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

尝试了第一种方法,它完全满足了我的需要。:)你能添加模板代码吗?“我需要的是能够使用原始sql,但仍然不必循环使用它。”您将如何输出该sql输出的内容?
def get_results():
   from django.db import connection
   cursor = connection.cursor()
   cursor.execute(sql)
   return cursor.fetchone()