Skip to main content

Extra filters for django admin site

Project description

django-adminfilters

Collection of extra filters for the Django admin site

Demo can be found at https://django-adminfilters.herokuapp.com/demo/artist/

Pypi coverage Test ReadTheDocs

https://user-images.githubusercontent.com/27282/153727131-d875f946-a8a8-4d89-be83-1d8cb5c9391a.mp4

Filters

  • Autocomplete
    • AutocompleteFilter
  • Simple
    • ValueFilter
  • Combobox
    • AllValuesComboFilter
    • RelatedFieldComboFilter
    • ChoicesFieldComboFilter
  • Dates
    • DateRangeFilter
  • Radio
    • AllValuesRadioFilter
    • RelatedFieldRadioFilter
    • ChoicesFieldRadioFilter
    • BooleanRadioFilter
  • Checkbox
    • RelatedFieldCheckBoxFilter
  • Multiple
    • MultiValueFilter
  • ManyToMany
    • IntersectionFieldListFilter
    • UnionFieldListFilter
  • JSON
    • JsonFieldFilter
  • Number
    • NumberFilter
  • Special
    • QueryStringFilter
    • DjangoLookupFilter
    • PermissionPrefixFilter

FYI

Filters management (save/retrieve), is handled by an optional application adminfilters.depot that, due to the Django filters internal design, it uses GET method to save filter definition to the database. When you use FilterDepotManager to save a filter, the call is idempotent but not safe.

Usage examples

class MyModel(models.Model):
    index = models.CharField(max_length=255)
    name = models.CharField(max_length=255)
    age = models.IntegerField()
    flag = models.CharField(default="1", choices=(("0", "Flag 1"), ("1", "Flag 2"))
    household = models.ForeignKey('Household')
    custom = JSONField(default=dict, blank=True)

class MyModelAdmin(ModelAdmin):
    list_filter = (
        FilterDepotManager,  # needs `adminfilters.depot` app
        QueryStringFilter,
        DjangoLookupFilter,
        ("custom", JsonFieldFilter.factory(can_negate=False, options=True)),
        ("flag", ChoicesFieldComboFilter),
        ('household', AutoCompleteFilter)
        ('name', ValueFilter.factory(lookup='istartswith'),
        ("age", NumberFilter),
    )

Run demo app

$ git clone https://github.com/saxix/django-adminfilters.git
$ cd django-adminfilters
$ python3 -m venv .venv
$ source .venv/bin/activate
$ make develop
$ make demo

Project links

Project details


Download files

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

Source Distribution

django-adminfilters-2.4.1.tar.gz (56.5 kB view details)

Uploaded Source

File details

Details for the file django-adminfilters-2.4.1.tar.gz.

File metadata

  • Download URL: django-adminfilters-2.4.1.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.2

File hashes

Hashes for django-adminfilters-2.4.1.tar.gz
Algorithm Hash digest
SHA256 bb52486ea1049fa629da42e9766c1f7a22327378c2fc120f80d9ca5e80e8d62a
MD5 eec8861e316b5197ed80f98df3ae3ccd
BLAKE2b-256 278a61643dddaab20ccbd2afc203b0530b44f7618a097460e68fbc39f3b65547

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page