在Django的choicfield中设置默认值

时间:2017-05-17 12:49:07

标签: python django

我有一个像这样的模型领域 -

class Country(models.Model):
    country = CountryField()

我已经从中创建了这样一个表单 -

class CountryForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(CountryForm, self).__init__(*args, **kwargs)
        self.fields['country'].widget.attrs.update(
            {'class': 'form-control'})

    class Meta:
        model = xyz
        fields = ['country']

我使用django-country创建了国家/地区字段。

如何设置默认值/在表单中选择的国家/地区?

示例:django-country有这样的国家---(' BD','孟加拉国'),(' An','安哥拉& #39;)等。如果我想选择安哥拉而不是我需要设置默认值 An

2 个答案:

答案 0 :(得分:1)

为了在Django选择字段中考虑初始值,我做了类似这样的事情:

form.fields['country'].initial = "what do you expect"

例如,在我的脚本中,我有:

form.fields['sex'].initial = Person.sex

就我而言,Person是一个Django模型,其中包含所有人的信息。

答案 1 :(得分:1)

创建表单实例时,应传递关键字参数initial to set an initial value for the field

form = CountryForm(initial={'country': 'An'})