http://django-ajax-selects.readthedocs.org/en/latest/
Define a lookup channel:
# yourapp/lookups.py from ajax_select import register, LookupChannel from .models import Tag @register('tags') class TagsLookup(LookupChannel): model = Tag def get_query(self, q, request): return self.model.objects.filter(name__icontains=q).order_by('name')[:50] def format_item_display(self, item): return u"<span class='tag'>%s</span>" % item.nameAdd field to a form:
# yourapp/forms.py from ajax_select.fields import AutoCompleteSelectMultipleField class DocumentForm(ModelForm): class Meta: model = Document tags = AutoCompleteSelectMultipleField('tags')This will now work in the Django Admin.
To use a form outside, be sure to include form.media on the template where you place the form:
{{ form.media }} {{ form }}Read the full documention here: outside of the admin
- Customize search query
- Query other resources besides Django ORM
- Format results with HTML
- Customize styling
- Customize security policy
- Add additional custom UI alongside widget
- Integrate with other UI elements elsewhere on the page using the javascript API
- Works in Admin as well as in normal views
- //ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
- //code.jquery.com/ui/1.10.3/jquery-ui.js
- //code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css
- Django >=1.8, <=2.1
- Python >=2.7, 3.3+
Many thanks to all contributors and pull requesters !
https://github.com/crucialfelix/django-ajax-selects/graphs/contributors
Dual licensed under the MIT and GPL licenses:

