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

Лукап iregex

Лукап iregex применяется к QuerySet и возвращает новый QuerySet, содержащий объекты, которые соответствуют переданному регулярному выражению без учета регистра. Данный лукап работает только с базами данных PostgreSQL, так как использует оператор ~*. Аргумент передается в виде строки с регулярным выражением, где ключ - имя поля с оператором iregex, а значение - строка регулярного выражения.

Синтаксис

Model.objects.filter(field__iregex='pattern')

Пример

Давайте найдем все статьи, заголовки которых содержат слово "django" (в любом регистре):

from myapp.models import Article articles = Article.objects.filter(title__iregex=r'\mdjango\M') for article in articles: print(article.title)

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

"Django для начинающих" "Уроки по DJANGO" "django ORM"

Пример

Давайте найдем пользователей, у которых email заканчивается на ".ru" или ".com" (без учета регистра):

from myapp.models import User users = User.objects.filter(email__iregex=r'\.(ru|com)$') for user in users: print(user.email)

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

"ivan@mail.ru" "petr@yandex.RU" "alex@google.COM" "john@example.com"

Пример

Давайте найдем категории, названия которых содержат цифры от 0 до 9:

from myapp.models import Category categories = Category.objects.filter(name__iregex=r'\d+') for category in categories: print(category.name)

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

"Категория 1" "Раздел 2" "Тема 2025"

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

  • лукап regex,
    который выполняет поиск по регулярному выражению с учетом регистра
  • лукап contains,
    который выполняет поиск по подстроке с учетом регистра
  • лукап icontains,
    который выполняет регистронезависимый поиск по подстроке
  • лукап startswith,
    который проверяет начало строки на совпадение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить