【问题标题】:Django queryset: filter DateTimeField if datetime.now() is greater than field - 24 hoursDjango 查询集:如果 datetime.now() 大于字段,则过滤 DateTimeField - 24 小时
【发布时间】:2017-03-05 14:09:24
【问题描述】:

我不明白这是怎么做到的。

我有一个带有 start_datetime 字段的事件模型。我想选择 datetime.now() >= start_datetime - 24 小时的所有事件。
我尝试使用 filter(),但我不明白如何告诉 'start_datetime - 24h'。
你能帮帮我吗?

【问题讨论】:

    标签: django filter django-queryset


    【解决方案1】:

    如果你重新排列

    datetime.now() >= start_datetime - 24 hours
    

    你得到了

    start_datetime <= datetime.now() + 1 day
    

    所以你的查询集应该是:

    from datetime import timedelta
    
    Event.objects.filter(start_datetime__lte=datetime.now() + timedelta(days=1))
    

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 2022-07-19
      • 2018-10-28
      • 2015-04-03
      • 2012-12-03
      • 2013-04-20
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多