Skip to content

A django app to autofill Select2 fields in admin inline forms.

License

Notifications You must be signed in to change notification settings

Glendigital/django_select2_autofill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django_select2_autofill

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.

Install

  1. With a Django project virtual environment activated:

    python -m pip install django-select2-autofill
  2. Add django_select2_autofill to your Django INSTALLED_APPS setting:

    INSTALLED_APPS = [
       # ...
       "django_select2_autofill",
    ]
  3. Use the AutofillAutocompleteSelect widget in the ModelForm containing autocomplete_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 custom AdminSite instance, if necessary:

    # ...
    from app.admin import CustomAdminSite
    
    
    # ...
    widgets = {
        "model_field_name": AutofillAutocompleteSelect(
            CustomModel.model_field_name.field, CustomAdminSite()
        ),
    }