Как мне определить дату в запросе Django ORM? - PullRequest
0 голосов
/ 22 января 2019

Я использую 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

.

1 Ответ

0 голосов
/ 22 января 2019

Из моего понимания прочитал твой вопрос.Вы хотите найти список статей, которые старше 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...