django_select2_autofill is a Django app that allows newly added Django admin inline
form autocomplete fields to be automatically filled with data from the last
user-selected option of the same autocomplete field in a form produced by a shared
formset.
This allows end-users to more efficiently input new data in instances where one value
may be shared across ModelAdmin formset form autocomplete fields.
-
With a Django project virtual environment activated:
python -m pip install django-select2-autofill
-
Add
django_select2_autofillto your DjangoINSTALLED_APPSsetting:INSTALLED_APPS = [ # ... "django_select2_autofill", ]
-
Use the
AutofillAutocompleteSelectwidget in theModelFormcontainingautocomplete_fields:from django import admin, forms from django_select2_autofill import AutofillAutocompleteSelect class CustomForm(forms.ModelForm): class Meta: widgets = { "model_field_name": AutofillAutocompleteSelect( CustomModel.model_field_name.field, admin.site ), }
Note that
admin.sitecan be replaced with a customAdminSiteinstance, if necessary:# ... from app.admin import CustomAdminSite # ... widgets = { "model_field_name": AutofillAutocompleteSelect( CustomModel.model_field_name.field, CustomAdminSite() ), }