2013-07-15 90 views
1

對象的查詢集過濾器我有一個字段名「時間戳」這是一個日期時間字段的模型,當我在python manage.py殼打印出來,我得到:Django的通過匹配日期時間

>>> a.timestamp 
datetime.datetime(2013, 7, 15, 18, 45, tzinfo=<UTC>) 

現在。 ...我每30秒運行一次django芹菜任務,假設在過去的30秒內檢索所有匹配的對象。

我該怎麼做(事= MyModelName.objects.filter(..東西..)

我希望我設法解釋我的自我。

謝謝大家先進。

更新: 當我在我的服務器我打字(蟒蛇殼)

datetime.datetime.now() 我越來越

datetime.datetime(2013,7,15,20,34,如圖4所示,366166)

+0

究竟是什麼你遇到問題? –

+0

剛剛更新了我的問題。 我遇到的問題是我沒有得到匹配的對象。可能它與時區有關係嗎? – yaniv14

回答

2
MyModelName.objects.filter(timestamp__gte=(datetime.datetime.now() - datetime.timedelta(seconds=30))) 
+0

隨着你的代碼,我每30秒就得到所有的對象,這是不好的。 :( 非常感謝您的幫助 – yaniv14

+1

這不應該是這樣 - 但您可以嘗試'django.utils.timezone.now()'而不是'datetime.datetime.now()'。https:/ /docs.djangoproject.com/en/dev/ref/utils/#django.utils.timezone.now –

+0

它正在工作......非常感謝你 – yaniv14

1
import datetime 
from datetime import timedelta 

time = datetime.datetime.now() 
delta = timedelta(seconds=30) 
newtime = time + delta #after adding 30 sec with current time 

so you can loop through the (newtime - time) time interval then you can 
get the expected result.