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

1つの解決策は、おそらく最も洗練されたものではありませんが、ディクショナリからのデータをビュー内の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/

'phone'が設定されている場合にのみ、このフィールドにデータを入力することは、ここからは非常に簡単です。

于 2011-09-04T23:18:17.547 に答える