自定义UserAdmin

时间:2012-08-29 21:53:36

标签: django django-models django-admin django-admin-filters

我正在尝试像这样自定义UserAdmin:

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


admin.site.unregister(User)

class CustomUserAdmin(admin.ModelAdmin):
    filter_horizontal = ('groups',)
    list_display = ('username', 'email', 'last_login')


admin.site.register(User, CustomUserAdmin)

然而,在执行此操作并在管理网站上进行测试后,更改不会反映出来。

如果我删除最后一行:

admin.site.register(User, CustomUserAdmin)

它抛出一个错误,说用户没有注册,所以我认为它认识到新的管理员没有采取任何效果。

2 个答案:

答案 0 :(得分:0)

不确定是否属于这种情况,但也许您应该继承from django.contrib.auth.admin import UserAdmin而不是继承自ModelAdmin。

答案 1 :(得分:0)

覆盖内置的UserAdmin可能更简单,改变您的需求:

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

admin.site.unregister(User)

UserAdmin.filter_horizontal = ('groups',)
UserAdmin.list_display = ('username', 'email', 'last_login')

admin.site.register(User, UserAdmin)