我有一个项目列表,只显示每个项目的最新状态。我现在要做的就是数数。问题是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 %}
答案 0 :(得分:0)
在我看来,您需要的只是具有状态的所有项目的计数 - 而不是与您的项目相关的所有状态的计数。是对的吗?如果是这样,这样就可以了:
count = models.StorageItem.objects.filter(client=client_id, itemstatushistory__isnull=False).count()