将多个django模型字段组合到一个表单字段中

时间:2014-10-22 00:18:48

标签: django django-crispy-forms django-autocomplete-light

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

不知道从哪里开始,所以指导和示例会非常棒!

0 个答案:

没有答案