需求
业务方需要查询过去某时间段内的数据情况,所以需要新增一个按照时间范围筛选数据的过滤器。
网上常见的方案不适用django3.x版本,例如这个引用的第三方库不适用django 3.x版本,因为它需要依赖一个django的基础包(django.contrib.admin.templatetags.admin_static),但是这个包已经在3.x的版本移除了。看官方文档就知道。
其实这个功能并没有被抛弃,Django知道这种使用场景挺常见的,所以自己集成到项目里了。具体的实现看下面代码。
功能代码
from django.contrib.admin import DateFieldListFilter
from media.models import Content
@admin.register(Content)
class Content(admin.ModelAdmin):
list_filter = [('updated_date', DateFieldListFilter)]