i have list being displayed in template:
edit: more complete code template:
{% assertions in badge_assertions_by_type %} {{assertions.badge_type.name}} {% assertion in assertions.list %} {{assertion.badge.name}} {{assertion.time_issued}} {% endfor %} {% endfor %}
badge_assertions_by_type defined here.
{{assertions.list}}
looks this:
[<badgeassertion: mybadge#1>, <badgeassertion: mybadge#1>, <badgeassertion: mybadge#1>, <badgeassertion: mybadge#1>, <badgeassertion: mybadge#2>]
instead of displaying of these items, want display unique items, number showing how many, e.g instead of:
mybadge#1 mybadge#1 mybadge#1 mybadge#1 mybadge#2
i want this, preferably done in template:
mybadge#1 (x4) mybadge#2
the text being displayed {{assertion.badge.name}}, same badgeassertion model's __str__
why looks same in {{assertions.list}}
assertions.list coming other stuff higher (see here, there confusingly called badges.list)
the models:
class badge(models.model): name = models.charfield(max_length=50, unique=true) ... class badgeassertion(models.model): badge = models.foreignkey(badge) ...
count distinct, so:
assertions = badgeassertion.objects.all().annotate(count('badge__name', distinct=true))
Comments
Post a Comment