如何根据python中的日期时间范围过滤对象(Django)

时间:2013-03-18 17:11:11

标签: python django datetime filtering

我正在尝试创建包含所有最新帖子的页面。

class Post(models.Model):
     title = models.CharField(max_length=40)
     postTime = models.DateTimeField(auto_now_add=True)

我找到了这个例子:

 start_date = datetime.date(2005, 1, 1)
 end_date = datetime.date(2005, 3, 31)
 Post.objects.filter(postTime__range=(start_date, end_date))

我知道我想使用__range函数。但是我怎样才能做到这一点,以便我可以从一系列获取所有帖子,直到两周前

类似这样的事情:

start_date = datetime.date(date from two weeks ago)
end_date = datetime.date(currentdate)
Post.objects.filter(postTime__range(start_date, end_date))

2 个答案:

答案 0 :(得分:3)

start_date = end_date - datetime.timedelta(days=14)

答案 1 :(得分:1)

from datetime import date, timedelta

Post.objects.filter(postTime__range=(date.today(), date.today() - timedelta(days=14)))