Skip to main content
https://badge.fury.io/py/django-admin-autocomplete-all.svg https://travis-ci.org/pyutil/django-admin-autocomplete-all.svg?branch=master https://codecov.io/gh/pyutil/django-admin-autocomplete-all/branch/master/graph/badge.svg

Django admin: 1) Get more context for filtering in get_search_results, 2) use select2 (autocomplete_fields) everywhere (because implicit is better than explicit).

Documentation

The full documentation is at https://django-admin-autocomplete-all.readthedocs.io.

Quickstart

Install django-admin-autocomplete-all:

pip install django-admin-autocomplete-all

Add ‘autocomplete_all’ into INSTALLED_APPS, then collectstatic (both not required if you don’t play with get_search_results filtering.)

Features

  1. Use select2 (autocomplete_fields) everywhere.

No need to change INSTALLED_APPS to achieve this. In your admin.py do import autocomplete_all as admin.

import autocomplete_all as admin
class MyModelAdmin(admin.ModelAdmin):
    ....

Alternatively import ModelAdmin, StackedInline and/or TabularInline ‘from autocomplete_all’ instead of ‘from admin’.

import autocomplete_all
class MyModelAdmin(autocomplete_all.ModelAdmin):
    ....

You will then need implement lot of search_fields=.. settings in related ModelAdmins. You can try start (ie. runserver) without adding search_fields and Django will show you what is required.

  1. Get more context in get_search_results.

Standard Django autocomplete_fields cannot inside get_search_results distinguish between the ForeignKey which asks for the queryset, especially if 2 ForeignKey’s from single model target into same model (often example: ForeignKey into User model). If you add this package (‘autocomplete_all’) into INSTALLED_APPS, then ?key=… will be added into url. Inside get_search_results you will have access to: application, model, ForeignKey. See example in static/autocomplete_all/js/autocomplete_params.js.

Implement filtering into get_search_results of target ModelAdmin and add this to the source ModelAdmin:

class MyModelAdmin(ModelAdmin):   # ModelAdmin can be standard or autocomplete_all.ModelAdmin
    class Media:
        js = ('autocomplete_all/js/autocomplete_params.js',)

You can also implement dynamic filters based on current value of other form fields. See Usage for details or read in source code: autocomplete_all/js/autocomplete_params.js

  1. Hide danger buttons in Admin ChangeForm.

The edit & delete buttons near the ForeignKey have very difficult and danger logic what they will do. If you add autocomplete_all in INSTALLED_APPS before django.contrib.admin (or some application which replaces admin design, like django-baton), then the danger buttons will disapear. Place the autocomplete_all “lower” in list if you don’t want this effect.

Running Tests

Does the code actually work? /N/A while we haven’t the 1st test yet./

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_test.txt
(myenv) $ tox

Credits

Tools used in rendering this package:

History

0.3.0 (2021-03-03)

  • if used in INSTALLED_APPS before django.contrib.admin (or admin rewriting app), danger ForeignKey buttons (edit,delete) will disapear

  • import admin methods (example: .register): in many cases you can just import autocomplete_all as admin and no more changes in admin.py are needed

0.2.6 (2020-05-06)

  • Fix: added class Media to fix some scenario(s) where widget is missing

0.2.4 (2020-01-27)

  • gives additional context in get_search_results()

  • Fix: missing .js (in 0.2.0-0.2.3)

0.1.6 (2020-01-24)

  • Fix in docs: proper attribute name is: autocomplete_except

0.1.4 (2020-01-22)

  • First acceptable version.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-admin-autocomplete-all-0.3.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_admin_autocomplete_all-0.3.0-py2.py3-none-any.whl (8.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-admin-autocomplete-all-0.3.0.tar.gz.

File metadata

  • Download URL: django-admin-autocomplete-all-0.3.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for django-admin-autocomplete-all-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c6866e337ae019e7c9f246416012427eca9c5c3a1f76cf80f093dfc8d92ebc90
MD5 cb254e5b830511359a6342f7f3ed6063
BLAKE2b-256 6c0fbf7cc22219f7962b8b942da610527a69fca172a5358357514b78af0a09c7

See more details on using hashes here.

File details

Details for the file django_admin_autocomplete_all-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_admin_autocomplete_all-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for django_admin_autocomplete_all-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6695f5b9b3ec2de50e36743d499b1aca740e12ac3f9f2fc666cd4aba5b1eee07
MD5 d7c0d7bcd124006d295072b89b9a239a
BLAKE2b-256 d94facd548cb7aca2555af812910066ad618a0cfed269b805c718a573f0250a1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.0

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page