django国家下拉默认

时间:2012-07-19 14:46:05

标签: django django-forms

我正在使用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 个答案:

答案 0 :(得分:3)

根据这里:

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

“CountryField基于Django的CharField,提供与官方ISO 3166-1国家/地区列表相对应的选项(,默认max_length为2 )”

这里有CountryField的完整列表:

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

你可以尝试一下,看看它是否有效吗?

booking = BookingForm(initial={'country': 'GB'})