Django通过匹配datetime来对象查询集过滤器

时间:2013-07-15 19:27:34

标签: python django django-queryset

我有一个带有字段名称'timestamp'的模型,它是一个日期时间字段,当我在python manage.py shell中打印它时,我得到:

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

现在....我每30秒运行一次django celery任务,假设在过去30秒内检索所有匹配的对象。

我该怎么做(thing = MyModelName.objects.filter(.. something ..)

我希望我能解释自己。

先谢谢大家。

更新: 当我在我的服务器(python shell)中输入

datetime.datetime.now() 我正在

datetime.datetime(2013,7,15,20,34,4,366166)

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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.