如何在Django管理过滤器中获取日期选择器?使用简单的list_filter将得到我的文本选择:任何日期,最近7天,最近几个月等,但我想要简单的日期选择器,所以我可以选择一个日期.我发现django-admin-daterange但我不需要范围-只是一个日期..
llycmphe1#
我已经做了以下添加日期过滤器:-
pip install django-admin-rangefilter
字符串然后将此添加到已安装的应用程序
'rangefilter',
型然后在admin.py文件中
from django.contrib import admin from .models import * from rangefilter.filter import DateRangeFilter class ProfileAdmin(admin.ModelAdmin): list_display = ("id", "full_name", "created_at", "role", "is_verified") list_filter = (('created_at', DateRangeFilter), "role") admin.site.register(Profile, ProfileAdmin)
型这将创建一个从和到日期选择器在过滤器框.你可以选择一个日期两个文件.它将过滤一个单一的日期.我提到这个博客,而解决这个问题:-https:www.dothedev.com/blog/2020/04/05/django-admin-list_filter/
abithluo2#
.但我不需要范围-只是一个日期..如果你只需要一个日期,你可以使用ModelAdmin.date_hierarchy。在文档中:将date_hierarchy设置为模型中DateField或DateTimeField的名称,更改列表页面将包含基于日期的该字段的深入导航。举例来说:
ModelAdmin.date_hierarchy
date_hierarchy
DateField
DateTimeField
@admin.register(MyModel) class MyModelAdmin(admin.ModelAdmin): date_hierarchy = 'my_date_field'
字符串结果如下所示:x1c 0d1x的数据这允许您通过选择 year -> month -> day“钻取”到单个日期。它不是一个像<input type="date">那样的真正的笔记本式的“日期选择器”,但我认为它非常方便。对于那些 * 确实 * 需要通过日期 * 范围 * 进行过滤的人,请查看here。
<input type="date">
2条答案
按热度按时间llycmphe1#
我已经做了以下添加日期过滤器:-
字符串
然后将此添加到已安装的应用程序
型
然后在admin.py文件中
型
这将创建一个从和到日期选择器在过滤器框.你可以选择一个日期两个文件.它将过滤一个单一的日期.我提到这个博客,而解决这个问题:-https:www.dothedev.com/blog/2020/04/05/django-admin-list_filter/
abithluo2#
.但我不需要范围-只是一个日期..
如果你只需要一个日期,你可以使用
ModelAdmin.date_hierarchy
。在文档中:
将
date_hierarchy
设置为模型中DateField
或DateTimeField
的名称,更改列表页面将包含基于日期的该字段的深入导航。举例来说:
字符串
结果如下所示:
x1c 0d1x的数据
这允许您通过选择 year -> month -> day“钻取”到单个日期。
它不是一个像
<input type="date">
那样的真正的笔记本式的“日期选择器”,但我认为它非常方便。对于那些 * 确实 * 需要通过日期 * 范围 * 进行过滤的人,请查看here。