如果认为我的问题很明显,并且几乎每个与之合作的开发人员UserProfile都应该能够回答。
但是,我在django文档或Django Book中找不到任何帮助。
当你要UserProfile使用Django Forms制作表单时,你想要修改配置文件字段以及某些User字段。
但是还没有forms.UserProfileForm(还?)!
你是怎样做的?
这是我最终的做法:
class UserProfileForm(forms.ModelForm): first_name = forms.CharField(label=_(u'Prénom'), max_length=30) last_name = forms.CharField(label=_(u'Nom'), max_length=30) def __init__(self, *args, **kw): super(UserProfileForm, self).__init__(*args, **kw) self.fields['first_name'].initial = self.instance.user.first_name self.fields['last_name'].initial = self.instance.user.last_name self.fields.keyOrder = [ 'first_name', 'last_name', ...some_other... ] def save(self, *args, **kw): super(UserProfileForm, self).save(*args, **kw) self.instance.user.first_name = self.cleaned_data.get('first_name') self.instance.user.last_name = self.cleaned_data.get('last_name') self.instance.user.save() class Meta: model = UserProfile