在Django admin中,如何按组筛选用户?

ric*_*ick 6 django django-admin django-authentication

它可以根据员工状态和超级用户状态进行过滤,但是组呢?

Fra*_*uga 12

从版本1.3开始,可以使用以下方法完成:

list_filter = ('groups__name')
Run Code Online (Sandbox Code Playgroud)

当然,正如@ S.Lott所解释的那样,您必须在admin.py文件中注册您的自定义类:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

class MyUserAdmin(UserAdmin):
    list_filter = UserAdmin.list_filter + ('groups__name',)

admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
Run Code Online (Sandbox Code Playgroud)


S.L*_*ott 5

请参阅在Django中自定义管理表单,同时使用自动发现

实际上,您可以使用所需的功能定义自定义的Admin类.

然后取消注册并注册修改后的Admin类.

admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
Run Code Online (Sandbox Code Playgroud)