2017-05-17 5 views
1

Einstellung habe ich ein Modellfeld wie dieses -einen Standardwert in choicfield in Django

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

aus dem ich eine Form wie diese geschaffen haben -

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'] 

ich verwendet habe django- Land, um das Länderfeld zu erstellen.

Wie kann ich einen Standardwert/ein Land in den Formularen festlegen?

Beispiel: django-country haben Länder wie dieses --- ('BD', 'Bangladesh'), ('An', 'Angola') usw. Wenn ich möchte Angola ausgewählt werden, als ich brauche Setzen Sie einen Standardwert von An.

+0

Haben Sie versucht, das Stichwort Argument 'default' in Country vorbei? – diegueus9

+0

Ich möchte es tun, ohne Standard bei Modell zu setzen. – ni8mr

Antwort

1

Um Anfangswert in Django Auswahlfeld Konto zu nehmen, ich so etwas wie dies gemacht:

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

Zum Beispiel in meinem Skript, ich habe:

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

In meinem Fall, Person ist ein Django-Modell, in dem alle Personeninformationen gespeichert sind.