如何从 Django 的 DateTimeField 过滤一小时前创建的对象的查询集?

Per*_*ock 3 python django datetime

问题

我正在尝试过滤一个状态在一个多小时内没有改变的模型。

我尝试过的

Product.objects.filter(
                Q(status="PENDING"),
                Q(created__hour__gt=1)
            ).all().order_by("-created")
Run Code Online (Sandbox Code Playgroud)

预期的解决方案:获取状态为“PENDING”但在一个多小时内未更改的对象的查询集。

Wil*_*sem 6

您可以使用以下内容进行过滤:

from datetime import timedelta
from django.db.models.functions import Now

Product.objects.filter(
    status="PENDING", created__lt=Now()-timedelta(hours=1)
).order_by('-created')
Run Code Online (Sandbox Code Playgroud)