РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
116 of 818 menu

Лукап week

Лукап week применяется к полям модели, содержащим дату или дату и время. Он позволяет фильтровать записи, у которых номер недели в году соответствует заданному значению. Нумерация недель соответствует стандарту ISO 8601, где первая неделя года - та, в которой содержится первый четверг. Аргументом передается целое число от 1 до 53.

Синтаксис

Model.objects.filter(field_name__week=week_number)

Пример

Допустим, у нас есть модель Article с полем created_at. Давайте отфильтруем статьи, созданные на 10-й неделе года:

from myapp.models import Article res = Article.objects.filter(created_at__week=10) for article in res: print(article.title)

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

"article 1" "article 2"

Пример

Отфильтруем статьи, созданные на текущей неделе. Для этого воспользуемся функцией datetime для получения текущей даты:

from myapp.models import Article from datetime import date current_week = date.today().isocalendar()[1] res = Article.objects.filter(created_at__week=current_week) for article in res: print(article.title)

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

"article 3" "article 4"

Пример

Лукап week также можно комбинировать с другими условиями. Например, отфильтруем статьи, созданные на 10-й неделе, но только те, у которых статус 'published':

from myapp.models import Article res = Article.objects.filter( created_at__week=10, status='published' ) for article in res: print(article.title)

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

"article 1"

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

  • лукап year,
    который фильтрует записи по году
  • лукап month,
    который фильтрует записи по месяцу
  • лукап day,
    который фильтрует записи по дню месяца
  • лукап week_day,
    который фильтрует записи по дню недели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить