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