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 を使用しています
これをどこから始めればよいかわからないので、ガイダンスと例は素晴らしいでしょう!!