我正在尝试从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
我该如何解决这个问题?
答案 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
。