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
  • 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.1.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

django_adminfilters-2.1.0-py2.py3-none-any.whl (44.4 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: django-adminfilters-2.1.0.tar.gz
  • Upload date:
  • Size: 52.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 51e3ea7bcf2bc498c19b62b93e3ab15aab5229ec53eee3edcb6e2892330e46ed
MD5 5c6f5a2f3d3c081fec75efb0ea3f5b6a
BLAKE2b-256 ce7c2ff9c41500cdb08a037d144174ff9b1bc4e92c9ace524cbe6d901d07fb63

See more details on using hashes here.

File details

Details for the file django_adminfilters-2.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_adminfilters-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 858d703e7143af6424b7a743285cd641cf838bfbe2abf7efaf0b65cbf3adfd39
MD5 deb594666b340da066b6855fdb1b41fd
BLAKE2b-256 76b079c21b30c03fb8739b973b4d27190b44817d4ac52fa2382b31aadf3a1970

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