0

モデルベースの形式で表示したい外部データ(SOAP)がいくつかあります。

モデル:

class UserProfile(User):
    profile_email = models.EmailField()
    company_name = models.CharField()
    coc_number = models.CharField()
    gender = models.CharField()
#etc

フォーム:

 class UserDetailsForm(forms.ModelForm):
        class Meta:
            model = UserProfile

データは辞書です:

u = {}
u['profile_email'] = 'monkey'
u['company_name'] = 'tiger'
u['coc_number'] = 'some number'
u['gender'] = 'M'

私の質問は、データをフォームに入れるための最良の方法は何ですか?私がこれまでに持っているもの:

form = UserDetailsForm(initial=u)

これにより、すべてのデータを含むフォームが作成されます。1)しかし、これはモデルベースフォームに外部データを入力する正しい方法ですか?2)選択オプション(たとえば国を選択)に適切な値を設定するにはどうすればよいですか?

4

1 に答える 1

1
  1. はい、これは適切な方法です。

  2. アプローチ1と同様に、dictのselect/choicesフィールドにを設定する必要があります。

例えば:

COUNTRY_CHOICES = (
    ('IN', 'India'),
    ('US', 'USA'),
    )
    ....
    #model field 
    country = models.CharField(choices=COUNTRY_CHOICES)

# then set it in dict as
u = {}
u['country'] = 'IN'
u['profile_email'] = 'monkey'
u['company_name'] = 'tiger'
u['coc_number'] = 'some number'
u['gender'] = 'M'
...
于 2012-09-25T11:21:18.087 に答える