在Django的Model中,可以基于时间对数据进行筛选,并且可以有很多的筛选方法供选择使用。
1.published_date__gt:
筛选出大于某个时间的所有数据。
time_point = datetime.datetime.now() - datetime.timedelta(days=-1)
result = blog.objects.filter(published_date__gt=time_point)
2.published_date__gte:
筛选出大于等于某个时间的所有数据。
time_point = datetime.datetime.now() - datetime.timedelta(days=-1)
result = blog.objects.filter(published_date__gte=time_point)
3.published_date__lt:
筛选出小于某个时间的所有数据。
time_point = datetime.datetime.now() - datetime.timedelta(days=-1)
result = blog.objects.filter(published_date__lt=time_point)
4.published_date__lte:
筛选出小于等于某个时间的所有数据。
time_point = datetime.datetime.now() - datetime.timedelta(days=-1)
result = blog.objects.filter(published_date__lte=time_point)
5.published_date__year:
筛选出指定年份内的所有数据。
result = blog.objects.filter(published_date__year=2013)
6.published_date__month:
筛选出指定月份内的所有数据,月份从1-12。
result = blog.objects.filter(published_date__month=3)
7.published_date__day:
筛选出任意年份、任意月份中的某一天的所有数据。
result = blog.objects.filter(published_date__month=4)
8.published_date__week_day:
筛选出任意周内某一天的所有数据,从1(星期日)-7(星期六)。
result = blog.objects.filter(published_date__week_day=2)
9.published_date__range:
筛选出指定时间范围内的所有数据。
start_date = datetime.date(2012, 12, 1)
end_date = datetime.date(2013, 3, 4)
blog.objects.filter(published_date__range=(start_date, end_date))