Wie schreiben Sie eine save-Methode für Formulare in django?

Habe ich zwei Modelle in Django: Benutzer (vordefiniert von Django) und UserProfile. Die beiden sind verbunden über Fremdschlüssel. Ich erstelle ein Formular, das ermöglicht es, den Kunden zu Bearbeiten Sie Ihre Benutzer-Profil. Als solche, diese form wird auf die beiden genannten Modelle.

Wie erstelle ich eine save () - Methode für das Formular? Was sind die Schritte/Voraussetzungen für die Vollendung des "speichern" - Funktion?

Hier ist, was ich habe, so weit in forms.py:

class UserChangeForm(forms.Form):
    #fields corresponding to User Model
    email = forms.EmailField(required=True)
    first_name = forms.CharField(max_length = 30)
    last_name = forms.CharField(max_length = 30)
    password1 = forms.CharField(max_length=30, widget=forms.PasswordInput)
    password2 = forms.CharField(max_length=30, widget=forms.PasswordInput)

    #fields corresponding to UserProfile Model
    gender = forms.CharField(max_length = 30, widget=forms.Select)
    year = forms.CharField(max_length = 30, widget=forms.Select)
    location = forms.CharField(max_length = 30, widget=forms.Select)

    class Meta:
        fields = ("username", "email", "password1", "password2", "location", "gender", "year", "first_name", "last_name")

    def save(self):
        data = self.cleaned_data
        # What to do next over here?

Ist das ein guter start oder jemand empfehlen würde, ändern diese, bevor wir zu schreiben beginnen, wird die save () - Funktion?

  • Warum nicht ModelForms?
  • Kann ich eine ModelForm, basierend auf den beiden Modellen? Wenn ja, wie würde ich tun?
InformationsquelleAutor goelv | 2012-08-13
Schreibe einen Kommentar