def queryset(self, request, queryset):
daystart = timezone.make_aware(datetime.combine(timezone.localdate(), time.min))
dayend = timezone.make_aware(datetime.combine(timezone.localdate(), time.max))
# using daystart and dayend because I can't directly filter using start_date.day
if self.value() == 'today':
return queryset.filter(start_date__gte=daystart,
start_date__lte=dayend)
if self.value() == 'tomorrow':
daystart += timedelta(days=1)
dayend += timedelta(days=1)
return queryset.filter(start_date__gte=daystart,
start_date__lte=dayend)
if self.value() == 'week':
dayend += timedelta(days=7)
return queryset.filter(start_date__gte=daystart,
start_date__lte=dayend)
if self.value() == 'month':
dayend += timedelta(days=30)
return queryset.filter(start_date__gte=daystart,
start_date__lte=dayend)
if self.value() == 'last_week':
daystart -= timedelta(days=7)
return queryset.filter(start_date__gte=daystart,
start_date__lte=dayend)
# no else to allow fall through to return all
评论列表
文章目录