The "Django Admin Search" is a advanced search modal for django admin
Project description
Django Admin Search
The "Django Admin Search" is a advanced search modal for django admin.
If you use or like the project, click Star
and Watch
to generate metrics and i evaluate project continuity.
Install:
pip install django-admin-search
Usage:
-
Add to your INSTALLED_APPS, in settings.py:
INSTALLED_APPS = [ ... 'django_admin_search', ... ]
-
Create a search form for model:
from .models import Area from django.forms import ModelForm, Form from django.forms import DateField, CharField, ChoiceField, TextInput class YourFormSearch(Form): name = CharField(required=False) date = DateField(required=False, widget=TextInput( attrs={ 'filter_method': '__gte', } ))
-
In your admin:
from django_admin_search.admin import AdvancedSearchAdmin from .models import YourModel from .form import YourForm, YourFormSearch @register(YourModel) class YourAdmin(AdvancedSearchAdmin): form = YourForm search_form = YourFormSearch
Advanced:
-
to multiple filters in same field:
class YourFormSearch(Form): ... name = CharField(required=False) begin = DateField(required=False, widget=TextInput( attrs={ 'filter_field': 'date', 'filter_method': '__gte', } )) end = DateField(required=False, widget=TextInput( attrs={ 'filter_field': 'date', 'filter_method': '__lte', } ))
-
add placeholder and mask
class YourFormSearch(Form): ... date = DateField(required=False, widget=TextInput( attrs={ 'data-mask': "00/00/0000", 'placeholder': 'MM/DD/YYYY' } ))
-
Custom filter query for a field
from django_admin_search.admin import AdvancedSearchAdmin from .models import YourModel from .form import YourForm, YourFormSearch @register(YourModel) class YourAdmin(AdvancedSearchAdmin): def search_FieldNameHere(request, field_value, param_values): """ intercept query filter for description field """ query = Q() # your Q logic here return query
Images:
Button in admin list:
Modal opened:
Development and Running the Tests
To do development work for Django Admin Search, clone it locally, make and activate a virtualenv for it, then from within the project directory:
pip install -e ".[dev]"
To run the tests:
pytest
If your work in high difficult test, and need to re run the test every time, use pytest-watch
:
ptw # this see file change and re run a test
when you need to see passed lines by test, run
pytest --cov-report html
after this, will be created a htmlcov
folder in the root
To run sonar
pytest --cov-report xml
pylint ./django_admin_search/ --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" | tee pylint.txt
sonar-scanner
See your code quality in Sonar (in testing, no metrics to approve yet)
https://sonarcloud.io/dashboard?id=shinneider_django-admin-search
For future i want to run test's in Travis CI, to check if PR is Ok, but to be effective, i need to cover 80% or more of the code, help-me creating a test case, see this issue PR - 20
Need a Maintainer
In the last months i don't have much time, health problemas, change of country and others problems.
i have some surgeries for first part of 2022, and all of my current project don't use django-admin.
for these reasons, i need a help for a project continuation!!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-admin-search-0.3.12.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 409128c8b85d3892248148326207186ee5304982538cd1ed3b04295216d26556 |
|
MD5 | 03de1e67a6fc19defc7e8ec15f346047 |
|
BLAKE2b-256 | 83127187b048fa0b79725a04fa3c9c26238d886d902dac5889458f8435741f48 |
Hashes for django_admin_search-0.3.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 936b5b7618bed9e127e5fce4480411dc6ea10f5ce84a2347b96fdf595b13336e |
|
MD5 | a5d011c4015eefade6bba1576da234d4 |
|
BLAKE2b-256 | 3fc01869e89c49301ca9224a0effbf41609f9e0c0152ddbe75ecef1de491fefc |