Django 查询集:如果 datetime.now() 大于字段,则过滤 DateTimeField - 24 小时

use*_*217 1 django filter django-queryset

我无法理解如何做到这一点。

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

Ala*_*air 5

如果重新排列

datetime.now() >= start_datetime - 24 hours
Run Code Online (Sandbox Code Playgroud)

你得到

start_datetime <= datetime.now() + 1 day
Run Code Online (Sandbox Code Playgroud)

所以你的查询集应该是:

from datetime import timedelta

Event.objects.filter(start_datetime__lte=datetime.now() + timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)