【问题标题】:Query difference between TimeField and Current Datetime in Django在Django中查询TimeField和Current Datetime之间的区别
【发布时间】:2015-07-24 23:20:18
【问题描述】:

我正在尝试从 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

我该怎么做?

【问题讨论】:

  • validity__gte=now_plus_10

标签: python django


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2012-02-22
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多