假设我有一个模型如下。
模型.py
class Profile(models.Model):
user = models.OneToOneField(User)
middle_name = models.CharField(max_length=30, blank=True, null=True)
我email
在 ModelForm 中有一个自定义字段,如下所示
表格.py
class ProfileForm(ModelForm):
email = forms.CharField()
class Meta:
model = models.Profile
fields = ('email', 'middle_name')
在设置上述模型表单的实例时,数据会预填充到编辑模板的表单中,如下所示。
视图.py
def edit_profile(request):
profile = models.Profile.objects.get(user=request.user)
profileform = forms.ProfileForm(instance=profile)
return render_to_response('edit.html', { 'form' : 'profileform' }, context_instance=RequestContext(request))
现在在表单中,我为 Profile 模型下的所有字段预填充了所有值,但自定义字段为空,这很有意义。
但是有没有办法可以预填充自定义字段的值?也许是这样的:
email = forms.CharField(value = models.Profile.user.email)