Autocomplete

../_images/autocomplete.gif

This filter is for ForeignKeys and uses select2 javascript. It is based on the standard Django autocomplete implementation, no external libraries are needed.

See Django autocomplete documentation for the ajax service options.

Usage

python:

class MyCountry(models.ModelAdmin):
    search_fields = ('name', )

class MyModelAdmin(AdminFiltersMixin, models.ModelAdmin):
    list_filter = (
        ('country', AutoCompleteFilter),
        ...
        )

LinkedAutoComplete

../_images/autocomplete.gif

As filter_autocomplete_ it can be used in case dependant master/details elements where we want to limits the “details” based on the “master” selection.

Usage

python:

class Country(models.Model):
    ...

class Region(models.Model):
    country = models.ForeignKey(Country, ...)

class MyModel(models.Model):
    region = models.ForeignKey(Region, ...)

class MyCountry(AdminAutoCompleteSearchMixin, models.ModelAdmin):
    search_fields = ('name', )

class MyRegion(AdminAutoCompleteSearchMixin, models.ModelAdmin):
    search_fields = ('name', )

class MyModelAdmin(AdminFiltersMixin, models.ModelAdmin):
    list_filter = (
        ('region__country', LinkedAutoCompleteFilter.factory(parent=None)),
        ('region', LinkedAutoCompleteFilter.factory(parent="region__country")),
        ...
        )