查询Django中TimeField和Current Datetime之间的区别

时间:2015-07-24 23:20:18

标签: python django

我正在尝试从Django中选择一个模型,其中validity字段(DateTimeField)与当前时间之间的差异应小于10分钟。

为此,我尝试了:

now = datetime.datetime.now()
now_plus_10 = now + datetime.timedelta(minutes = 10)
slots_bookings = Table.objects.filter(validity__lte=now_plus_10)

然而,这总是会给我一个从现在开始不到10分钟的任何值,其中包括甚至超过10分钟窗口的时间戳。

我想弄清楚是否有办法让我可以获得

的字段
current_time - validity <= 10 minutes

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

now = datetime.datetime.now()
delta = datetime.timedelta(minutes=10)
now_plus_10 = now + delta
now_minus_10 = now - delta
Tables.objects.filter(validity__gte=now_minus_10, validity__lte=now_plus_10)

如果您使用时区,则可以使用django.utils.timezone.now代替datetime.datetime.now