【发布时间】:2012-08-10 05:59:19
【问题描述】:
我在 Django 中有两个模型:User(由 Django 预定义)和 UserProfile。两者通过外键连接。我正在创建一个表单,允许客户编辑他们的用户资料。因此,此表单将基于上述两种模型。
如何为这个表单创建一个 save() 方法?完成保存功能的步骤/要求是什么?
这是我目前在 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?
这是一个好的开始吗?或者有人会建议在我们开始编写 save() 函数之前对其进行更改吗?
【问题讨论】:
-
我可以创建一个基于两个模型的 ModelForm 吗?如果是这样,我将如何去做?
标签: python django django-models django-forms