Лукап lt
Оператор поиска lt (less than) применяется в запросах Django для выборки объектов, у которых значение указанного поля меньше заданного значения. Этот лукап работает с числовыми полями, полями дат и времени, а также с другими типами данных, поддерживающими операцию сравнения "меньше". Оператор указывается в имени поля через двойное подчеркивание, а значение передается как аргумент метода фильтрации.
Синтаксис
Model.objects.filter(field__lt=value)
Пример
Выберем все товары с ценой строго меньше 1000 рублей:
from myapp.models import Product
cheap_products = Product.objects.filter(price__lt=1000)
for product in cheap_products:
print(product.name)
Результат выполнения кода:
"Mouse"
"Keyboard"
"USB cable"
Пример
Найдем пользователей младше 18 лет:
from myapp.models import User
young_users = User.objects.filter(age__lt=18)
for user in young_users:
print(f"{user.name} - {user.age} years")
Результат выполнения кода:
"Alice - 16 years"
"Bob - 17 years"
Пример
Выберем заказы, созданные до 1 марта 2025 года:
from 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}")
Результат выполнения кода:
"Order #1 - 2025-01-15"
"Order #2 - 2025-02-20"
Смотрите также
-
лукап
lte,
который выбирает записи со значением поля меньше или равным указанному -
лукап
gt,
который выбирает записи со значением поля строго больше указанного -
лукап
gte,
который выбирает записи со значением поля больше или равным указанному -
лукап
range,
который выбирает записи с значением поля в заданном диапазоне