Django模板:在不同列表上组合2个循环

时间:2018-09-13 15:32:12

标签: django django-templates

我想知道如何将这两个查询集组合到模板中以使其遍历。

requests = Download.objects.values('pub__age_id').annotate(count=Count('pub__age_id'))

max_download_number = Download.objects.values('pub__age_id').annotate(max_usage=Max('usage'))

context = {'requests': requests, 'max_download_number': max_download_number}

在我的模板中:

{% for item in requests %}
    {% for element in max_download_number %}
        <tr>
            <td>{{ item.pub__age_id }}</td>
            <td><span class="badge alert-info">{{ item.count }}</span></td>
             <td>{{ element.max_usage }}</td>
             <td>Something</td>
        </tr>
    {% endfor %}
{% endfor %}

它显示了错误的循环:

enter image description here

1 个答案:

答案 0 :(得分:4)

为什么不将其合并到视图中?

requests = Download.objects.values('pub__age_id').annotate(count=Count('pub__age_id')).annotate(max_usage=Max('usage'))

,然后在模板中:

<td>{{ item.pub__age_id }}</td>
<td><span class="badge alert-info">{{ item.count }}</span></td>
<td>{{ item.max_usage }}</td>