Ich habe ein benutzerdefiniertes Registrierungsformular für meine Nutzer, um ein Profil in meiner App hinzuzufügen. In letzter Zeit ist jedoch ein Fehler aufgetreten, da das Formular die Informationen nicht speichert, die in alle Felder eingegeben wurden.
Mein Benutzermodell MyUser
hat eine ManyToMany-Beziehung mit einem anderen Modell, Interest
, und hier treten die Probleme auf. Ich bin mir nicht sicher, ob es die RegistrationForm
- oder register
-Ansicht ist, die das verursacht, also habe ich sowohl unten, als auch den Modellcode eingeschlossen.
Ich habe auch eine Ansicht für die Benutzer, um ihr Profil zu aktualisieren, auch enthalten, sobald es erstellt wird, und das funktioniert absolut perfekt. Dies ist die Ansicht personal
.
Wie gesagt, nur das Feld Interest
wird nicht zurückgegeben, obwohl es auf der Registrierungsseite ausgefüllt wurde.
Jede Hilfe oder Beratung wird sehr geschätzt, danke.
models.py
%Vor%ansichten.py
%Vor%forms.py
%Vor% Da Sie commit=false
für den Aufruf super(RegistrationForm, self).save
verwenden, wird das Viele-zu-Viele-Feld nicht gespeichert. Sie müssen daher self.save_m2m()
nach user.save()
in Ihrer save()
Methode von RegistrationForm
hinzufügen.
Siehe Ссылка
EDIT: save_m2m()
ist auf dem Formular, nicht das Modell
Tags und Links django django-forms django-templates django-models django-views