Запрос Django: хочу посчитать набор в шаблоне - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть список элементов, который отображает только последний статус каждого элемента. То, что я хочу сделать сейчас, это считать. Проблема в том, что функция 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 %}

1 Ответ

0 голосов
/ 04 апреля 2011

Мне кажется, что все, что вам нужно, это количество всех предметов, которые имеют статус, а не количество всех статусов, связанных с вашими предметами.Это правильно?Если так, это сделает это:

count = models.StorageItem.objects.filter(client=client_id, itemstatushistory__isnull=False).count()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...