Domanda

Vorrei cambiare amministratore di un gruppo, quindi sarebbe visualizzare quanti utenti ci sono in un certo gruppo. Mi piacerebbe visualizzarla nella vista che mostra tutti i gruppi, l'uno prima di immettere admin certo gruppo. È possibile? Sto parlando sia su come modificare amministratore di un gruppo e come aggiungere la funzione di list_display.

È stato utile?

Soluzione

Per prima cosa avresti bisogno di importare e sottoclasse GroupAdmin da django.contrib.auth.admin. Nella sottoclasse, definire un metodo user_count. Poi, annullare la registrazione del modello di Gruppo esistente da admin, e ri-registrare il nuovo.

from django.contrib.auth.admin import GroupAdmin
from django.contrib.auth.models import Group

class GroupAdminWithCount(GroupAdmin):
    def user_count(self, obj):
        return obj.user_set.count()

    list_display = GroupAdmin.list_display + ('user_count',)

admin.site.unregister(Group)
admin.site.register(Group, GroupAdminWithCount)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top