Лукап lt

Оператор поиска lt (less than) применяется в запросах Django для выборки объектов, у которых значение указанного поля меньше заданного значения. Этот лукап работает с числовыми полями, полями дат и времени, а также с другими типами данных, поддерживающими операцию сравнения "меньше". Оператор указывается в имени поля через двойное подчеркивание, а значение передается как аргумент метода фильтрации.

Синтаксис

pythonModel.objects.filter(field__lt=value)

Пример

Выберем все товары с ценой строго меньше 1000 рублей:

pythonfrom myapp.models import Product

cheap_products = Product.objects.filter(price__lt=1000)
for product in cheap_products:
  print(product.name)

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

python"Mouse"
"Keyboard"
"USB cable"

Пример

Найдем пользователей младше 18 лет:

pythonfrom myapp.models import User

young_users = User.objects.filter(age__lt=18)
for user in young_users:
  print(f"{user.name} - {user.age} years")

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

python"Alice - 16 years"
"Bob - 17 years"

Пример

Выберем заказы, созданные до 1марта 2025 года:

pythonfrom myapp.models import Order
from datetime import date

old_orders = Order.objects.filter(created_at__date__lt=date(2025, 3, 1))
for order in old_orders:
  print(f"Order #{order.id} - {order.created_at}")

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

python"Order #1 - 2025-01-15"
"Order #2 - 2025-02-20"

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

  • лукап lte,
    который выбирает записи со значением поля меньше или равным указанному
  • лукап gt,
    который выбирает записи со значением поля строго больше указанного
  • лукап gte,
    который выбирает записи со значением поля больше или равным указанному
  • лукап range,
    который выбирает записи с значением поля в заданном диапазоне