django-автозаполнение-легкое простое использование
Я пытаюсь понять, как использовать django-автозаполнение-свет для существующего проекта. Это похоже на хорошее решение автозаполнения для django, для которого я уже использую обычные ModelChoiceFields.
Итак, предположим, что у меня есть модель с именем MyModel, которая имеет идентификатор и имя. То, что я хотел бы знать, - это самый простой способ создания виджета формы, который предоставит мне такую же функциональность с
mymodel = forms.ModelChoiceField( required=True, queryset=ships.models.Authority.objects.all() , )
поэтому я мог бы добавить этот виджет в любую форму, которую я хотел, чтобы выбрать экземпляры MyModel без использования selec.t
каковы необходимые шаги для этого ? Я уже добавил "autocomplete_light" для INSTALLED_APPS и
url(r'autocomplete/', include('autocomplete_light.urls')),
к urls.py и
import autocomplete_light
autocomplete_light.autodiscover()
до
admin.autodiscover()
однако я путаюсь с тем, что делать дальше: (
пожалуйста, не указывайте мне в документации, которую я уже прочитал полностью.
1 ответов
выберите виджет по умолчанию для ModelChoiceField
это поле формы не указывает виджет, поэтому виджет select должен использоваться по умолчанию С:
mymodel = forms.ModelChoiceField(
required=True,
queryset=ships.models.Authority.objects.all(),
)
вот почему вы видите поле select вместо автозаполнения.
вы читали Django docs об использовании виджетов ?
используйте autocomplete_light.ChoiceWidget вместо
все, что вам нужно сделать, это указать виджет:
mymodel = forms.ModelChoiceField(
required=True,
queryset=ships.models.Authority.objects.all(),
widget=autocomplete_light.ChoiceWidget('AutocompleteName')
)
если вы не знаете, как называется автозаполнение, войдите в систему как персонал и откройте http://yoursite/autocomplete/
.
убедитесь, что у вас есть jQuery правильно загружен и что staticfiles автозаполнения-света загружены тоже !
варианты
FTR: другой способ возможен, используя autocomplete_light.modelform_factory
используя сочетания клавиш, такие как autocomplete_light.modelform_factory
или autocomplete_light.get_widgets_dict
. API docs проходимы, но не бьют Читать источник код.
в целом, я думаю, что проще всего для вас использовать get_widgets_dict shortcut если вы используете ModelForm.
скрытые документы
вы, возможно, не нашли книги потому что это работа в ветви docs_rewrite, но вторая часть "основы высокого уровня" предоставляет несколько примеров использования виджета.
Я знаю, что у документов есть проблема, поэтому docs_rewrite отделение. Сейчас я сосредоточен на улучшении мобильной поддержки.