Лукап quarter

Лукап quarter применяется к полям даты и времени для фильтрации записей по номеру квартала. Он извлекает номер квартала из значения поля DateTimeField или DateField и сравнивает его с переданным значением. Лукап работает с датами в часовом поясе, который задан в настройках Django.

Синтаксис

pythonModel.objects.filter(field__quarter=value)

Пример

Давайте отфильтруем статьи, которые были опубликованы в первом квартале (квартал 1):

pythonfrom myapp.models import Article

q1_articles = Article.objects.filter(published_at__quarter=1)
for article in q1_articles:
  print(article.title)

Результат выполнения кода:

python"Winter ideas"
"New Year plans"
"Q1 review"

Пример

Давайте отфильтруем статьи, которые были опубликованы во втором квартале (квартал 2):

pythonfrom myapp.models import Article

q2_articles = Article.objects.filter(published_at__quarter=2)
for article in q2_articles:
  print(article.title)

Результат выполнения кода:

python"Spring gardening"
"Q2 report"
"Summer preparation"

Пример

Давайте отфильтруем статьи, которые были опубликованы в третьем квартале (квартал 3), и выведем только заголовки и квартал публикации:

pythonfrom myapp.models import Article

q3_articles = Article.objects.filter(published_at__quarter=3).values('title', 'published_at')
for article in q3_articles:
  print(f"Title: {article['title']}, Quarter: {article['published_at'].quarter}")

Результат выполнения кода:

python"Title: Autumn harvest, Quarter: 3"
"Title: Q3 results, Quarter: 3"

Смотрите также

  • лукап year,
    который позволяет фильтровать записи по году даты
  • лукап month,
    который позволяет фильтровать записи по месяцу даты
  • лукап day,
    который позволяет фильтровать записи по дню даты
  • лукап week,
    который позволяет фильтровать записи по неделе даты