django-searchable-select - a better and faster multiple selection widget with suggestions for Django
Project description
django-searchable-select
========================
A better and faster multiple selection widget with suggestions for
Django
What is this?
=============
This plugin provides a replacement for standard multi-choice select on
Django admin pages.
You can use this as custom widget for ``ManyToManyField``.
Features
========
- Filtering is performed on server side and thus significantly improves
performance.
- Uses ``Twitter Typeahead`` to provide suggestion completion.
- Works **great** with ManyToMany fields that can be chosen from
thousands of thousands of choices, e. g. ``User - City`` relations.
Before
~~~~~~
.. figure:: https://habrastorage.org/files/dd9/f17/87e/dd9f1787e0dd4e05826fdde08e270609.png
:alt: Before
Before
After
~~~~~
.. figure:: https://habrastorage.org/files/db2/c87/460/db2c87460992470e9d8e19da307c169d.png
:alt: Before
Before
Installation
============
1. Install ``django-searchable-select``.
.. code:: sh
$ pip install django-searchable-select
2. Add ‘searchableselect’ to your settings.
.. code:: python
# settings.py
INSTALLED_APPS = (
# ...
'searchableselect',
# ...
)
3. Add URL pattern required for the suggesting engine to your root
``urls.py``.
.. code:: python
# urls.py
urlpatterns = patterns(
'',
# ...
url('^searchableselect/', include('searchableselect.urls')),
# ...
)
4. Use the widget in your model admin class:
.. code:: python
from django import models, forms
from models import MyModel
class MyModelForm(forms.ModelForm):
class Meta:
model = models.MyModel
exclude = ()
widgets = {
'cities': SearchableSelect(model='cities.City', search_field='name')
}
class MyModelAdmin(admin.ModelAdmin):
form = Form
admin.site.register(models.MyModel, MyModelAdmin)
Remember to **always** initialize ``SearchableSelect`` with two
keyword arguments: ``model`` and ``search_field``.
- ``model`` is the string in form ``APP_NAME.MODEL_NAME``
representing your model in the project, e. g. ‘cities.City’
- ``search_field`` is the field within model that will be used to
perform filtering, e. g. ‘name’
Known issues
============
- Not tested with ``ForeignKey`` fields.
Contributing
============
I’m looking forward to bug reports and any kind of contribution.
License
=======
You are free to use this where you want as long as you keep the author
reference. Please see LICENSE for more info.
========================
A better and faster multiple selection widget with suggestions for
Django
What is this?
=============
This plugin provides a replacement for standard multi-choice select on
Django admin pages.
You can use this as custom widget for ``ManyToManyField``.
Features
========
- Filtering is performed on server side and thus significantly improves
performance.
- Uses ``Twitter Typeahead`` to provide suggestion completion.
- Works **great** with ManyToMany fields that can be chosen from
thousands of thousands of choices, e. g. ``User - City`` relations.
Before
~~~~~~
.. figure:: https://habrastorage.org/files/dd9/f17/87e/dd9f1787e0dd4e05826fdde08e270609.png
:alt: Before
Before
After
~~~~~
.. figure:: https://habrastorage.org/files/db2/c87/460/db2c87460992470e9d8e19da307c169d.png
:alt: Before
Before
Installation
============
1. Install ``django-searchable-select``.
.. code:: sh
$ pip install django-searchable-select
2. Add ‘searchableselect’ to your settings.
.. code:: python
# settings.py
INSTALLED_APPS = (
# ...
'searchableselect',
# ...
)
3. Add URL pattern required for the suggesting engine to your root
``urls.py``.
.. code:: python
# urls.py
urlpatterns = patterns(
'',
# ...
url('^searchableselect/', include('searchableselect.urls')),
# ...
)
4. Use the widget in your model admin class:
.. code:: python
from django import models, forms
from models import MyModel
class MyModelForm(forms.ModelForm):
class Meta:
model = models.MyModel
exclude = ()
widgets = {
'cities': SearchableSelect(model='cities.City', search_field='name')
}
class MyModelAdmin(admin.ModelAdmin):
form = Form
admin.site.register(models.MyModel, MyModelAdmin)
Remember to **always** initialize ``SearchableSelect`` with two
keyword arguments: ``model`` and ``search_field``.
- ``model`` is the string in form ``APP_NAME.MODEL_NAME``
representing your model in the project, e. g. ‘cities.City’
- ``search_field`` is the field within model that will be used to
perform filtering, e. g. ‘name’
Known issues
============
- Not tested with ``ForeignKey`` fields.
Contributing
============
I’m looking forward to bug reports and any kind of contribution.
License
=======
You are free to use this where you want as long as you keep the author
reference. Please see LICENSE for more info.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-searchable-select-0.7.tar.gz
.
File metadata
- Download URL: django-searchable-select-0.7.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b97accc8675b85ec851f9e91d1cbeff631a4f0384bf11429f776835fd992ee7 |
|
MD5 | 9f93289d6496c2281bb4a1c28976e30c |
|
BLAKE2b-256 | fcefca7be7f542eda2ec8c295c81f2ef90b44a352cf917ae29a6ec97ba60e084 |