Django: django-admin-lightweight-date-hierarchy для отображения сегодняшних объектов
Я пытаюсь использовать этот пакет django: https://github.com/hakib/django-admin-lightweight-date-hierarchy. для фильтрации объектов по датам создания. Но теперь я хочу отображать сегодняшние созданные объекты по умолчанию и если ни одна дата не выбрана. В противном случае и после выбора любой даты, это должно отображать объекты для выбранной даты.
class Test(models.Model):
full_name = models.CharField(max_length=200)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
deleted_at = models.DateTimeField(null=True, blank=True)
@admin.register(Test)
class MyModelAdmin(admin.ModelAdmin):
date_hierarchy = 'created_at'
date_hierarchy_drilldown = False
list_filter = (
RangeBasedDateHierarchyListFilter,
)
def get_queryset(self, request):
qs = super(ShareAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(owner=request.user)
def get_date_hierarchy_drilldown(self, year_lookup, month_lookup):
"""Drill-down only on past dates."""
today = timezone.now().date()
if year_lookup is None and month_lookup is None:
# Past 3 years.
return (
datetime.date(y, 1, 1)
for y in range(today.year - 2, today.year + 1)
)
elif year_lookup is not None and month_lookup is None:
# Past months of selected year.
this_month = today.replace(day=1)
return (
month for month in (
datetime.date(int(year_lookup), month, 1)
for month in range(1, 13)
) if month <= this_month
)
elif year_lookup is not None and month_lookup is not None:
# Past days of selected month.
days_in_month = calendar.monthrange(year_lookup, month_lookup)[1]
return (
day for day in (
datetime.date(year_lookup, month_lookup, i + 1)
for i in range(days_in_month)
) if day <= today
)