Lo que quiero lograr es tener una lista de asociaciones en una columna y el total de miembros en la otra columna, así:
He intentado buscar otras soluciones aquí sin suerte, ¿hay algo que me falta?
Todavía soy un novato, ¡así que agradezco toda su ayuda y orientación, amigos!
modelos.py
class Member(models.Model): member_no = models.AutoField(primary_key=True) association = models.ForeignKey('Association') ... class Association(models.Model): asoc_name = models.CharField(max_length=50, null=True, blank=True) class Meta: db_table = 'Association' def __str__(self): return self.asoc_name def __unicode__(self): return self.asoc_name class AssociationSummary(Association): class Meta: proxy = True verbose_name = 'Association Summary' verbose_name_plural = 'Association Summary'administrador.py
@admin.register(AssociationSummary) class ChartAssociationAdmin(admin.ModelAdmin): change_list_template = 'admin/chart_association.html' def get_total(self): total = Member.objects.all().aggregate(association=Sum('member_no')) return total def changelist_view(self, request, extra_context=None): my_context = { 'member_no': self.get_total(), } return super(ChartAssociationAdmin, self).changelist_view(request, extra_context=my_context)gráfico_asociación.html
{% extends 'admin/change_list.html' %} {% block content_title %} <h1> Association Summary </h1> {% endblock %} {% block result_list %} <div class=”results”> <table> <thead> <tr> <th> <div class=”text”> <span>Association</span> </div> </th> <th> <div class=”text”> <span>Total Members</span> </div> </th> </tr> </thead> <tbody> {% for row in member %} <tr class="{% cycle 'row1' 'row2' %}"> <td> {{ row.asoc_name }} </td> <td> {{ row.total }} </td> </tr> {% endfor %} </tbody> </table> </div> {% endblock %} {% block pagination %}{% endblock %}