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. 您需要在 dict 中为 select/choices 字段设置,类似于方法 1。

例如:

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 回答