Skip to content

admin

django_spire.auth.group.admin

PortalGroupAdmin

Bases: ModelAdmin

list_display = ('id', 'name', 'view_group_detail_link', 'user_count') class-attribute instance-attribute

ordering = ('name',) class-attribute instance-attribute

search_fields = ('id', 'name') class-attribute instance-attribute

get_queryset

Source code in django_spire/auth/group/admin.py
def get_queryset(self, request: HttpRequest) -> QuerySet[models.AuthGroup]:
    queryset = super().get_queryset(request)

    return queryset.annotate(_user_count=Count('user', distinct=True))

user_count

Source code in django_spire/auth/group/admin.py
@admin.display(description='User Count', ordering='_user_count')
def user_count(self, group: models.AuthGroup) -> int:
    return group._user_count
Source code in django_spire/auth/group/admin.py
@admin.display(description='Details Link')
def view_group_detail_link(self, group: models.AuthGroup) -> str:
    url = reverse('django_spire:auth:group:page:detail', kwargs={'pk': group.pk})

    return format_html('<a href="{}">View Details</a>', url)