Ho due modelli in Django: User (predefinito da Django) e UserProfile. I due sono collegati tramite una chiave esterna. Sto creando un modulo che consente al cliente di modificare il proprio profilo utente. In quanto tale, questo modulo sarà basato su entrambi i modelli menzionati.Come si scrive un metodo di salvataggio per i form in django?
Come si crea un metodo save() per questo modulo? Quali sono i passaggi/i requisiti per completare la funzione di salvataggio?
Ecco quello che ho finora 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?
questo è un buon punto di partenza o di qualcuno dovrebbe raccomandare la modifica di questa prima di iniziare a scrivere la funzione di salvataggio()?
Perché non usare 'ModelForm's? –
Posso creare un ModelForm basato su due modelli? Se sì, come potrei fare? – goelv