Django:如果等于数

时间:2015-10-19 09:09:31

标签: django

我对特定型号有多个ListViews。我有一个页面应显示每ListView的结果数并链接到该ListView。

如何计算该视图中的项目数?

dashboard.html

{% if status == 'Open' %}
    {{ jobs.count }}
{% endif %}

仪表板视图:

Dashboard(ListView):
    model = Job

打开视图:

class JobOpenList(ListView):

    def get_queryset(self):
        return Job.objects.filter(status='Open')

封闭视图:

class JobClosedList(ListView):

    def get_queryset(self):
        return Job.objects.filter(status='Closed')

1 个答案:

答案 0 :(得分:1)

这不是思考问题的方法。您无法在完全独立的视图中询问事物的数量。相反,您需要在当前使用的视图中计算它们。

您可以使用聚合来计算每个州的项目数:

Job.objects.values('state').annotate(count=Count('state'))