Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:以基于模型的形式显示外部数据_Django_Django Forms - Fatal编程技术网

Django:以基于模型的形式显示外部数据

Django:以基于模型的形式显示外部数据,django,django-forms,Django,Django Forms,我有一些外部数据(SOAP),希望以基于模型的形式显示 模型: class UserProfile(User): profile_email = models.EmailField() company_name = models.CharField() coc_number = models.CharField() gender = models.CharField() #etc 表格: class UserDetailsForm(forms.ModelFor

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

  • 是的,这是合适的方式

  • 您需要为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'
    ...