如何在视图中使用光标显示查询集结果

时间:2018-11-21 12:11:38

标签: python django

我具有运行查询并传递要在视图中显示的结果的功能。

 def index(request):
        data = dict()    
        cursor = connection.cursor()
        cursor.execute('''SELECT user.email, item.id, count(item.author_id)
                          FROM item INNER JOIN user on item.user_id = user.id
                          GROUP BY item.author_id ''')
        data['item'] = cursor.fetchall();

        return render(request, 'ideax/panel.html', data)

查询集结果示例:

[('teste@gmail.com', 1, 4), ('admin@gmail.com', 2, 5)]

如何在我的panel.html中显示此查询的结果?

我尝试了这个,但没有用:

{% for d in item %}

    {{d.email}}

{% endfor %}

1 个答案:

答案 0 :(得分:0)

它正在返回元组,所以我们必须像下面这样打开包装

{% for email, item_id, count in item %}
    {{email}}
{% endfor %}

或者我们也可以使用索引

{% for d in item %}
    {{ d.0 }}
{% endfor %}