Add the option to filter by a custom date range on the admin. This allows to inputs to be used to get the custom date range filters.
See datefilter.png of a screenshot of how this is seen on the admin.
IMPORTANT: this will work with Django 1.4. I won't work with previous Django versions.
pip install django-daterange-filter
Add daterange_filter to settings.INSTALLED_APP. For this, edit the setup.py file:
INSTALLED_APPS = ( ... 'daterange_filter' )
After this, if you have a model like this one:
class MyModel(models.Model): ... foo = models.CharField(max_length=1, choices=BAR_CHOICES) created_at = models.DateField()
To allow to filter the created_at field using the date ranges, you must edit the admin.ModelAdmin referenced to that class:
from daterange_filter.filter import DateRangeFilter from django.contrib import admin from models import MyModel class MyModelAdmin(admin.ModelAdmin): list_filter = ( 'foo', ('created', DateRangeFilter), # this is a tuple ... )
DateRangeFilter honours localization and supports local date formats for filtering.
pip install -r requirements.txt, then
If you wanna run tests on all supported Python/Django versions, execute
- Fixed calendar icon moving to a new line in Django 1.9 (Special thanks to https://github.com/farooqaaa)
- fix daterange_filter function (Special thanks to https://github.com/ZamorakLin)
- Special thanks to: https://github.com/mightygraf
- Updated README
- Works with DateTime (special thanks to Andrea Rabbaglietti)
- Removed the custom DateRangeField
- Improved i18n
- Special thanks to: https://github.com/DXist