如何在 Django 管理过滤器中获取日期选择器?
使用简单的list_filter将让我选择文本:任何日期,最近7天,最近几个月等。但我想要简单的日期选择器,所以我只能选择一个日期...我找到了django-admin-daterange,但我不需要范围 - 只有一个日期..
我已执行以下操作来添加日期过滤器:-
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/
...但我不需要范围 - 只需要一次约会..
ModelAdmin.date_hierarchy
:
将
设置为模型中date_hierarchy
或DateField
的名称,更改列表页面将包含该字段基于日期的向下钻取导航。DateTimeField
例如:
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
date_hierarchy = 'my_date_field'
看起来像这样:
这允许您按年 -> 月 -> 日进行深入分析。