Custom-user-Modell in django nicht erlauben Einstellung im admin-Kennwort
Habe ich eine benutzerdefinierte Modell, das ich bin erfolgreich in meinem app.
Das problem ist, dass innerhalb der Admin auf der Seite Benutzer Bearbeiten Bildschirm, bekomme ich eine Anzeige der gegenwärtigen Passwort-hash, statt der sehr nützliche Schnittstelle für die Einstellung des Passworts.
Bin ich mit Django 1.5b1 auf Python 2.7.
Wie überzeuge ich die Django-admin zu behandeln meine user-Modell die gleiche Weise behandelt er die systemeigenen Benutzer, für den Willen des admin-Benutzer-Schnittstelle?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dokumentation vorschlagen, dass Sie auf registrieren Sie das benutzerdefinierte Modell mit admin und definieren auch einige Methoden auch so, dass admin-interface funktioniert mit custom-user-Modell.
Können Sie auch definieren, built-in Formulare für Benutzer.
Vom Custom-Benutzer und django.contrib.admin
Sie müssen auch registrieren, Ihre benutzerdefinierten Modell mit dem admin. Wenn Ihre benutzerdefinierten Modell erweitert AbstractUser, die Sie verwenden können, Django bestehenden UserAdmin-Klasse. Allerdings, wenn Sie Ihre Benutzer-Modell erweitert AbstractBaseUser, müssen Sie definieren eine benutzerdefinierte ModelAdmin Klasse.
Fügen Sie einfach dieses Formular um:
Entlehnt https://stackoverflow.com/a/15630360/780262
Zumindest in 1.10, ich war in der Lage, das folgende zu tun. Einfacher als die oben. Ich habe es in admin.py:
Wenn Sie die Erweiterung AbstractBaseUser, benötigen Sie zwei Formulare, ein Formular erstellen, und Sie ein Formular aktualisieren, ohne die Passwörter, abgeleitet von ModelForm.
Dann in das Admin-Formular, geben Sie separate Erstellung und Aktualisierung von Formen, zusammen mit den entsprechenden fieldsets:
Kennwörter für neue Benutzer funktioniert. Passwort-änderungen im vorgegebenen django form statt in admin.