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.13.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3a9115c21b65cc24cd02270f360ef80b48a6f8adeffc9e02292e884d988a6c |
|
MD5 | f68f3453e9be2e6e130b95641710e8c6 |
|
BLAKE2b-256 | 2e725633233e113725968c767134432c678b2f77b3bb4e557b66d8efa8b3da87 |
Hashes for django_admin_search-0.3.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9efa3a3a3812d16377ee012e963280ff8f8a01e3832f159c03dea1b58b9faee5 |
|
MD5 | 503690bdca13fefa5a3c48e7ea28ceca |
|
BLAKE2b-256 | 2b5e47b758cea106338fbcbf92a33178ae0bdb603c324f548007183c530c0664 |