django admin管理工具有很多好用的功能,例如搜索框、筛选器等,编码简单,功能强大。
但是常规的时间筛选有一定局限性,只能显示一定时间节点到当前时间这一段时间段内的筛选结果,做不到自由定义时间段筛选,本人找到了可以实现这一功能的插件,就是今天要介绍的DateRangeFilter。
注意: DateRangeFilter只适用于Django 1.4以上的版本。
插件安装
使用 pip或easy_install:
pip install django-daterange-filter
修改配置
在settings.py中的INSTALLED_APPS如下加入配置项:
INSTALLED_APPS = (
...
'daterange_filter'
)
加入筛选器
假设你需要普通筛选和通过时间区间进行筛序的字段在models.py里分别是这么写的:
class TaskModel(models.Model):
...
user_name = models.CharField(u'用户名', max_length=128)
submit_time = models.DateTimeField(u'提交时间', auto_now_add=True)
...
那么,在admin.py引入筛选器插件:
from daterange_filter.filter import DateRangeFilter
以上这点是文档中最容易被忽视的部分,所以这里单