Я делал клон Yelp, и я разочаровался в создании автозаполнения.
У меня есть одна поисковая форма с 2 полями. Поле поиска должно проходить через 2 модели (Бизнес, Сервис). Поиск должен выглядеть как на Yelp. Но для бизнес-модели он должен иметь один вид (он должен иметь и оборачиваться в тег). Для сервисной модели это выглядит как обычный текст.
Также поле поиска должно быть связано с полем города (поиск предприятий должен происходить только в городе из поля города, например, «китайские рестораны» в «Лондоне»). У меня нет проблем с автозаполнением города (для городов я использую city-light и geo django). Как реализовать глобальное навигационное автозаполнение (как на Facebook или Yelp).
*forms.py*
class SearchForm(forms.Form):
search = forms.ChoiceField(widget=autocomplete.ListSelect2(url='searchquery-autocomplete'))
city = forms.ChoiceField(widget=autocomplete.ListSelect2(url='city-autocomplete'))
Например, я использую 2 модели: Бизнес с имя , сервис поля и родственная модель Сервис с имя поле.