Я хотел бы изменить администратора для группы, таким образом, она отобразится, сколько пользователей находится там в определенной группе. Я хотел бы отобразить это в представлении, показывающем всем группам, та перед вводом администратора для определенной группы. Действительно ли это возможно? Я говорю и о том, как изменить администратора для группы и как добавить функцию к list_display
.
Сначала вам нужно импортировать и создать подкласс GroupAdmin
из django.contrib.auth.admin
. В своем подклассе определите метод user_count
. Затем отмените регистрацию существующей модели группы у администратора и повторно зарегистрируйте новую.
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)