Skip to content

The Washington Post's app for creating admin foreign key autocompletion fields.

Notifications You must be signed in to change notification settings

jeremyjbowers/django-autocomplete

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wapo-django-autocomplete

wapo-django-autocomplete is an installable app which overrides the stock adminraw ID widget with an autocomplete search box. It has two interesting features over competing apps:

  • It limits/filters the search query that the autocomplete logic performs when matching the keyword. This limit/filter logic is on a per-field basis.
  • It works with inlines.

Installation

  • The autocomplete templates need to be located by Django, so it's recommended that you add it to your installed apps.
  • Install from github using pip:
pip install -e git+git@github.com:jeremyjbowers/django-autocomplete.git#egg=autocomplete

Code examples

Here's an example of how you would use wapo-django-autocomplete to create an autocomplete field on a foreign key field.

models.py:

class Bar(models.Model):
    name = models.CharField(max_length=255)
    ...
    
class Baz(models.Model):
    name = models.CharField(max_length=255)
    bar = models.ForeignKey(Bar)
    ...
    
class Foo(models.Model):
    bar = models.ForeignKey(Bar)
    baz = models.ForeignKey(Baz)
    ...

admin.py

class FooAdmin(NoLookupsForeignKeyAutocompleteAdmin):
    model = Foo
    related_search_fields = {
        'bar': ('name',),       #search against the name field in the FK bar.
        'baz': ('bar__name',),  #traverse a second foreign key to search against the name of bar.
    }

Todos

  • Test to make sure templates are properly installing.
  • Identify ways to customize returned items in the widget, e.g., limit to 10, alphabetize, etc.

About

The Washington Post's app for creating admin foreign key autocompletion fields.

Resources

Stars

Watchers

Forks

Packages

No packages published