如何编写仅匹配 DateTime 列的分钟字段的 Django 查询?

How do I write a Django query that matches only the minute field of a DateTime column?

我正在使用 Django 3.2 和 PostGres 9.6。我有一个带有“已创建”日期时间字段的模型...

class PriceQuote(models.Model):
        ...
    created = models.DateTimeField(null=False, default=datetime.now)

如何编写 Django 过滤器查询,其中包含一个子句以匹配创建列的分钟字段?所以在下面

class PriceQuoteManager():
    def get_prices_per_hour(self, item):
        now = datetime.datetime.now()
        end_time = now.replace(second = 0, microsecond = 0)
        start_time = end_time - timedelta(days=1)
        return PriceQuote.objects.filter(
            item=item,
            created__range=[start_time, end_time],
            xxx=end_time.minute
        )

我想用一个子句替换“xxx”,该子句表示将“created”的分钟字段与“end_time”变量的分钟字段相匹配。

您可以使用 __minute:

        return PriceQuote.objects.filter(
            item=item,
            created__range=[start_time, end_time],
            created__minute=end_time.minute
        )