Skip to main content

A generic filter for the django-admin-page based on django-filter.

Project description

https://api.travis-ci.org/thomst/django-admin-filter.svg?branch=master https://coveralls.io/repos/github/thomst/django-admin-filter/badge.svg?branch=master python: 3.4, 3.5, 3.6, 3.7, 3.8 django: 1.11, 2.0, 2.1, 2.2, 3.0

Description

Django-admin-filter is a generic form-based filter for the django-admin-page. It is based on django-filter. It provides a flexible and direct way to filter the items of your changelist and to save and reuse your queries.

Installation

Install from pypi.org:

pip install django-admin-filter

Setup

There are three things you need to do to use a custom filter-form for your model in your admin changelist:

Add django_admin_filter to your INSTALLED_APPS:

INSTALLED_APPS = [
   'django_admin_filter',
   ...
]

Add the CustomFilter to the list_filter of your ModelAdmin:

from django_admin_filter.filters import CustomFilter

class MyAdmin(admin.ModelAdmin):
   list_filter = [CustomFilter, ...]
   ...

And setup the filter-class you want to use with your model. This works exactly as described in the django-filter-docs. But to use your filter-class with the django-admin-filter there is one thing to mind: Instead of subclass django_filters.FilterSet:

import django_filters

class MyFilter(django_filters.FilterSet):
   ...

use the AdminFilterSet:

from django_admin_filter.filterset import AdminFilterSet

class MyFilter(AdminFilterSet):
   ...

Configuration

django_admin_filter defines some settings by its own. These settings and their default values are:

ADMIN_FILTER_HISTORY_LIMIT = 3
ADMIN_FILTER_TRUNCATE_HISTORY = True
ADMIN_FILTER_URL_PATH = 'filter/'

ADMIN_FILTER_HISTORY_LIMIT

Filter queries that are not saved but only applied will be kept in the history section of the custom filter. The HISTORY_LIMIT setting defines how many applied filter queries will be kept. If you do not want to have a history of your applied queries at all set this setting to 0.

ADMIN_FILTER_TRUNCATE_HISTORY

By default applied filters that are beyond the scope of the filter history will be delete automatically from the database. Set this setting to False if you want to keep them for any reason.

ADMIN_FILTER_URL_PATH

By default the route for the filter query form will be composed as follows:

<app-label>/<model>/filter/[<pk>]

If this does not work with your project you can alter the “filter/” part by using the ADMIN_FILTER_URL_PATH setting.

Usage

The CustomFilter will show up on the right with all the other list filters. It allows you to create new queries - based on your AdminFilterSet - or apply existing queries - either recent ones from the history, or those you created. It is also possible to create globel filter queries that can be used by every user. To do so a user must have an extra permission defined with the FilterQuery model:

"Can handle global FilterQueries"

Users with this permission can commonly create edit and delete global filters.

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-admin-filter-0.3.tar.gz (11.8 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_filter-0.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file django-admin-filter-0.3.tar.gz.

File metadata

  • Download URL: django-admin-filter-0.3.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for django-admin-filter-0.3.tar.gz
Algorithm Hash digest
SHA256 9dce639d3ce2d980bfd8a31818f71e76190792e137852a2d954f23e02c52b9ab
MD5 fc8ed09b175d2b9fa7eda26ecdc09803
BLAKE2b-256 f6c355462b5a03d771e9eae746d89cf3e8c839cc46b8d8dd512664a7a3598db2

See more details on using hashes here.

File details

Details for the file django_admin_filter-0.3-py3-none-any.whl.

File metadata

  • Download URL: django_admin_filter-0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for django_admin_filter-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 33a1345d33f2fc1447cedee4f369f8ceb0387c83559612ca4ceaffe3278bc779
MD5 dc3c8ebd22af451e1d5f94476f99eba6
BLAKE2b-256 ac0bb3cbebb80f20d5edfc8084ee62bb06221d2bc26f04ef30dd03bd13c38ca1

See more details on using hashes here.

Supported by

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