【问题标题】:Django: show external data in model based formDjango:以基于模型的形式显示外部数据
【发布时间】:2012-09-25 08:27:30
【问题描述】:

我有一些外部数据 (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)如何在选择选项中设置正确的值(例如选择国家)?

【问题讨论】:

    标签: django django-forms


    【解决方案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-02-17
      • 2018-03-20
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 2018-08-29
      相关资源
      最近更新 更多