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_autofill
to your DjangoINSTALLED_APPS
setting:INSTALLED_APPS = [ # ... "django_select2_autofill", ]
-
Use the
AutofillAutocompleteSelect
widget in theModelForm
containingautocomplete_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.site
can be replaced with a customAdminSite
instance, if necessary:# ... from app.admin import CustomAdminSite # ... widgets = { "model_field_name": AutofillAutocompleteSelect( CustomModel.model_field_name.field, CustomAdminSite() ), }