BLOG
Enjoy when you can, and endure when you must.
MAR 04, 2013/Django
Django Model中基于时间的筛选

在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))

COMMENTS
LEAVE COMMNT