1

我已经定义了 UerProfile 并且需要为 MyForm 获取电话数据

 class UserProfile(models.Model):
     ...
     phone = models.CharField(max_length=20, blank=True)


 class CustomModel(models.Model):
     ...
     phone = models.CharField(max_length=20)


 class MyForm(forms.ModelForm):

     class Meta:
         model = CustomModel
         exclude = ['some_fields_but_not_phone',]

现在,如果已设置,我需要从 UserProfile 中获取电话数据,以便在 {{ form.phone }} 字段中预先填充值。然后用户可以在提交表单时更改或保持原样。

4

1 回答 1

0

一种解决方案(虽然可能不是最优雅的)是将字典中的数据绑定到视图中的 MyForm 对象。

data = {
    'field1': 'data'
    'field2': 'data'
    'phone': request.user.get_profile().phone
}
form = MyForm(data)

更多信息:https ://docs.djangoproject.com/en/1.3/ref/forms/api/

如果设置了“电话”,则仅填充此字段从这里开始非常简单。

于 2011-09-04T23:18:17.547 回答