0

我有一个表格,我希望能够让人们使用 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

不知道从哪里开始,所以指导和例子会很棒!

4

0 回答 0