Support for django-generic-m2m

See GenericManyToMany documentation.

Support for django-hvad

This is how to enable language() for one Autocomplete:

import autocomplete_light.shortcuts as al
from al.contrib.hvad import AutocompleteModelBase

al.register(YourModel, AutocompleteModelBase)

Or, enable it globally by updating your autodiscover() call like this:

import autocomplete_light.shortcuts as al
from al.contrib.hvad import AutocompleteModelBase
al.registry.autocomplete_model_base = AutocompleteModelBase
al.autodiscover()

In that case, you can just register as usual:

al.register(YourTranslatableModel)
class autocomplete_light.contrib.hvad.AutocompleteModel(request=None, values=None)[source]

Ensure that .language() is called.

Overridden init to call .language(). Note: this will replace the base choices.

class autocomplete_light.contrib.hvad.AutocompleteModelBase(request=None, values=None)[source]

Drop-in replacement for AutocompleteModelBase

Overridden init to call .language(). Note: this will replace the base choices.

class autocomplete_light.contrib.hvad.AutocompleteModelTemplate(request=None, values=None)[source]

Drop-in replacement for AutocompleteModelTemplate

Overridden init to call .language(). Note: this will replace the base choices.

Support for django-taggit

django-taggit does it slightly differently. It is supported by autocomplete_light as of 1.0.25. First you need to register the taggit Tag class and for each form you need to set the TaggitWidget.

First register the tag:

from taggit.models import Tag
import autocomplete_light.shortcuts as al
al.register(Tag)

Every form which should have the autocomplete taggit widget should look like:

from autocomplete_light.contrib.taggit_field import TaggitField, TaggitWidget

class AppEditForm(forms.ModelForm):
   tags = TaggitField(widget=TaggitWidget('TagAutocomplete'))
   class Meta:
      model = App