So aktualisieren Sie das vorhandene Profil des Django-Modells

8

Ich versuche, Benutzern zu ermöglichen, ihre Profile nach der Registrierung zu erstellen und zu bearbeiten. Ich benutze ein Modellformular. Was ich tun muss, ist das Arbeitgebermodell-Feld mit dem aktuellen Benutzer gefüllt werden.

Hier ist meine Meinung:

%Vor%

Hier ist mein Modell:

%Vor%

Hier ist meine Modellform

%Vor%     
pizza-r0b 13.10.2013, 02:13
quelle

1 Antwort

9

Um Ihr Formular mit Werten aus Ihrer vorhandenen Modellinstanz zu hydratisieren, müssen Sie das Argument instance im Modellformular verwenden:

%Vor%

Um den aktuellen request.user zu injizieren, können Sie die __init__ von EditProfileForm überschreiben, ein zusätzliches Schlüsselwortargument übergeben (oder arg, es ist nicht wirklich wichtig) und es vorher aus den Kwarts herausholen Aufruf Super, damit Sie das ModelForm ein Schlüsselwortargument nicht übergeben, das es nicht erwartet:

%Vor%

Nun müssen Sie commit=False nicht übergeben und den Wert von employer in der Ansicht manuell festlegen.

    
Brandon 13.10.2013 02:58
quelle