繁体   English   中英

如何在Django ORM查询中进行日期数学运算?

[英]How do I do date math in a Django ORM query?

我正在使用Django和Python 3.7。 我有以下型号......

class Article(models.Model):
    ...
    title = models.TextField(null=False)
    created_on = models.DateTimeField(default=datetime.now)

我想写一个Django ORM查询,我找到所有超过5分钟的文章。 但我不知道如何编写这样的查询。 我试过了

Article.objects.filter((datetime.now(timezone.utc) - created_on)__gte==300)

但这导致了一个

SyntaxError: invalid syntax

错误。

从我的理解来阅读你的问题。 您想要找到考虑当前时间超过5分钟的文章列表。 如果我是正确的,你需要first subtract 5 mins from your time然后make query with greater than or equal (gte) ex:created_on__gte

示例代码如下。 希望这会有所帮助

from datetime import datetime, timedelta
date_to_query = datetime.now(timezone.utc) - timedelta(hours=0, minutes=5)

Article.objects.filter(created_on__gte=date_to_query)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM