2013-03-18 67 views
1

我試圖創建一個包含所有最新帖子的頁面。如何在python中過濾基於日期時間範圍的對象(Django)

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

回答

3
start_date = end_date - datetime.timedelta(days=14) 
+0

這是我在我的tastypie資源: – noahandthewhale 2013-03-18 21:26:00

+0

queryset = Post.objects.filter(postTime__range =(date.today(),date.today() - timedelta(days = 14))) – noahandthewhale 2013-03-18 21:26:27

+0

@RiegieGodwin,我認爲你有你的開始和結束時間的改變ersed。 – 2013-03-18 21:41:25

1
from datetime import date, timedelta 

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

我試過你的方法,我仍然無法檢索這些對象。 – noahandthewhale 2013-03-18 21:24:16

+0

queryset = Post.objects.filter(postTime__range =(date.today(),date.today() - timedelta(days = 14))) – noahandthewhale 2013-03-18 21:25:17

+0

我轉發我的問題在這裏,http://stackoverflow.com/questions/15487537 /如何對過濾器的對象爲基礎的上-A-DateTimeField字段範圍合蟒-Django的使用 – noahandthewhale 2013-03-18 21:54:44

相關問題