繁体   English   中英

Django查询:要计算模板中的集合

[英]Django query: Want to count a set in template

我有一个项目列表,仅显示每个项目的最新状态。 我现在想做的是计数。 问题是count功能仅在删除latest情况下才能正常工作-但这会给我这样的信息。

item1 = 1 item2 = 33 item3 = 12 item4 = 0

基本上,它将计算该项目的所有状态,但是它需要集中精力计算最新状态,因此在这种情况下答案应该是3。这就是为什么我需要最新latest 在存储项目和状态之间还存在外键关系,一个项目可以具有许多状态,或者如果没有,则根本没有状态。

#views.py
client = models.Client.objects.get(pk = client_id)
items = client.storageitem_set.all()

模板

{% for item in items %}
        {{item.itemstatushistory_set.latest}}
{% endfor %}

在我看来,您所需要的只是具有状态的所有项目的计数,而不是与您的项目相关的所有状态的计数。 那正确吗? 如果是这样,它将这样做:

count = models.StorageItem.objects.filter(client=client_id, itemstatushistory__isnull=False).count()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM