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

Лукап range

Лукап range применяется в методах фильтрации filter и exclude для выборки записей, значения которых находятся в указанном диапазоне. Диапазон задается кортежем или списком из двух элементов: начальное и конечное значение. Лукап работает с любыми полями, поддерживающими сравнение - числовыми, датами, строками. Важно отметить, что границы диапазона включаются в выборку (поведение аналогично оператору BETWEEN в SQL).

Синтаксис

Model.objects.filter(field__range=(start_value, end_value))

Пример

Рассмотрим модель статьи с полем 'rating' - рейтинг статьи. Отфильтруем статьи с рейтингом от 3 до 5 включительно:

from myapp.models import Article articles = Article.objects.filter(rating__range=(3, 5)) for article in articles: print(article.title, article.rating)

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

"New article" 3 "Popular article" 4 "Top article" 5

Пример

Используем лукап range для фильтрации по дате. Выберем статьи, опубликованные в первой половине 2025 года (с января по июнь):

from myapp.models import Article from datetime import date start_date = date(2025, 1, 1) end_date = date(2025, 6, 30) articles = Article.objects.filter(pub_date__range=(start_date, end_date)) for article in articles: print(article.title, article.pub_date)

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

"Winter sale" 2025-01-15 "Spring collection" 2025-04-10 "Summer release" 2025-06-01

Пример

Лукап range можно использовать и для строк. Например, отфильтруем пользователей по диапазону имен (лексикографическое сравнение):

from myapp.models import User users = User.objects.filter(name__range=("A", "M")) for user in users: print(user.name)

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

"Alice" "Igor" "John"

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

  • лукап gt,
    который выбирает записи со значениями больше указанного
  • лукап gte,
    который выбирает записи со значениями больше или равными указанному
  • лукап lt,
    который выбирает записи со значениями меньше указанного
  • лукап lte,
    который выбирает записи со значениями меньше или равными указанному
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить