我想要以基于模型的形式显示一些外部数据(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)如何在选择选项中设置正确的值(例如选择国家/地区)?
答案 0 :(得分:1)
是的,这是合适的方式。
您需要为dict中的select / choices字段设置 value ,类似于方法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'
...