Вопрос по django, django-forms – По умолчанию выпадающий список стран Джанго

1

Я использую Django ModelForms. У меня есть выпадающий список, который позволяет пользователям выбирать страну. Страна является частью модели бронирования и определяется с помощью django_countries. Например,

В models.py

from django_countries import CountryField

class Booking(models.Model)
    name = models.charField(max_length=100)
    country = CountryField()

В views.py я хочу иметь возможность установить выбранный элемент по умолчанию в раскрывающемся меню, например "Соединенное Королевство". Я знаю, как это сделать с текстовыми полями, однако не могу заставить его работать с CountryField (). Например,

booking = BookingForm(initial={'name': 'mr majeika'}) //works
booking = BookingForm(initial={'country': 'United Kingdom'}) //does not work

Я надеялся, что кто-то там сможет указать мне правильное направление?

Ваш Ответ

1   ответ
3

Согласно здесь:

http://pypi.python.org/pypi/django-countries/1.0.1

CountryField основан на CharField от Django, предоставляя варианты выбора, соответствующие официальному списку стран ISO 3166-1 (with a default max_length of 2) & Quot;

И полный список CountryField здесь:

http://djangosnippets.org/snippets/1476/

Можете ли вы попробовать это и посмотреть, работает ли это?

booking = BookingForm(initial={'country': 'GB'})
использовал фрагмент, чтобы получить список стран, изучающих django.
Дреннуз - мне очень жаль. Это действительно сработало. Я был пойман формой хранения значений, так глупо. Спасибо за вашу помощь! reportingmonkey
Спасибо, Дреннуз. Я пытался именно так, как вы предлагаете - это не сработало. reportingmonkey

Похожие вопросы