我有一个表格,我希望能够让人们使用 1 个表格字段选择一个国家、地区或城市(所以他们只需要选择 1 个)。我正在使用 django-autocomplete-light,所以我的计划是将所有 3 个模型字段组合到 1 个表单字段中 - 用户搜索并选择他们想要的一个,并将其保存到相关的模型字段中。
做了很多搜索,但在这方面找不到任何东西 - 有什么想法吗?
这是我目前的表格,每个字段都是分开的:
class PostForm(forms.ModelForm):
country = forms.ModelChoiceField(Country.objects.all(),
widget=autocomplete_light.ChoiceWidget('CountryAutocomplete',
attrs={
'minimum_characters': 1,
}))
region = forms.ModelChoiceField(Region.objects.all(),
widget=autocomplete_light.ChoiceWidget('RegionAutocomplete',
attrs={
'minimum_characters': 1,
}))
city = forms.ModelChoiceField(City.objects.all(),
widget=autocomplete_light.ChoiceWidget('CityAutocomplete',
attrs={
'minimum_characters': 1,
}))
class Meta:
model = Post
exclude = ('user', 'active',)
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
'',
'post',
'link',
'country',
'region',
'city',
),
ButtonHolder(
Submit('submit', 'Submit', css_class='btn btn-success')
)
)
super(PostForm, self).__init__(*args, **kwargs)
如您所见,我正在使用 django-autocomplete-light 和 django-crispy-forms
不知道从哪里开始,所以指导和例子会很棒!