カスタムユーザ管理ブレークを使用すると、Djangoの管理者のパスワードフォームが変更されます

私はカスタムユーザ管理者を使用しています:

class CustomUserAdmin(admin.ModelAdmin):
    model = User
    ...
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

私が管理ページからパスワードを変更しようとすると、404が表示されます。

user object with primary key u'4/password' does not exist.

デフォルトのユーザー管理に戻すと正常に動作します。

ベストアンサー


django.contribのデフォルトの UserAdmin 。 auth.admin

は、パスワードの変更ページを含む多くの機能を実装しています。

CustomUserAdmin は、その機能を自分自身で再実装しない限り、
admin.ModelAdmin の代わりに UserAdmin
をサブクラス化する必要があります。

class CustomUserAdmin(UserAdmin):
    # as an example, this custom user admin orders users by email address
    ordering = ('email',)

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です