문제
내가 사용하여 django-taggit 태그 항목에서 할 일 목록 응용 프로그램입니다.
내가 하려고 목록의 각 범주의 번호와 함께 작업과 관련된 각 태그 그래서 그것을 읽을 수 있습니다:
Tag A (1)
Tag B (3)
Tag C (2)
태그 추가 1 항목,태그 B 에는 3,etc.
추가 boolean 필드를 django-taggit.그래서 이제 나는 목록의 태그를 다음과 같다:
visible_tags = Tag.objects.filter(visible=True).order_by('name')
hidden_tags = Tag.objects.filter(visible=False).order_by('name')
나를 얻을 수 있는 항목의 개수를(활동)like this:
for tag in visible_tags:
print tag
print Action.objects.filter(tags__name__in=[tag]).count()
지금 내가 원하는 첨부하는 이러한 계산을 visible_tags 및 hidden_tags 설정할 수 있도록 반복이 그들에 템플릿은 다음과 같다:
{% for tag in visible_tags %}
{{ tag }} ({{ tag.count }})<br>
{% endfor %}
어떻게 연결할 수 있습니다.카운트 값을 각 태그 내에서 visible_tags 에 hidden_tags? 나는 가정을 반복하는 모든 범주에서 각각합니다.
해결책
특수효과를 사용: https://docs.djangoproject.com/en/dev/topics/db/aggregation/
from django.db.models import Count
Tag.objects.annotate(action_count=Count('action'))
(있을 수 있습을 조정하는 비트입니다.나는 추측에 관련된 이름에 대한 Action
)
제휴하지 않습니다 StackOverflow