Mam dwa modele w Django: Użytkownik (wstępnie zdefiniowany przez Django) i UserProfile. Oba są połączone za pomocą klucza obcego. Tworzę formularz, który pozwala klientowi edytować swój profil użytkownika. Jako taki, ten formularz będzie oparty na obu wymienionych modelach.Jak piszesz metodę zapisu dla formularzy w django?
Jak utworzyć metodę save() dla tego formularza? Jakie są kroki/wymagania dotyczące wypełniania funkcji składowania?
Oto co mam do tej pory w 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?
Czy to dobry początek czy też ktoś polecić ten zmienia się, zanim zaczniemy pisać zapisać funkcję()?
Dlaczego nie używać 'ModelForm's? –
Czy mogę utworzyć model modelowy oparty na dwóch modelach? Jeśli tak, to jak mam to zrobić? – goelv