Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

2.7 Поисковые поля
5 из 5 шагов пройдено

Поисковые поля используют простой синтаксис двойного подчёркивания. 

<поле поиска>__<поиск>
Employee.objects.filter(first_name__exact='John')

Под капотом Django создает запрос SQL WHERE для построения запросов к базе данных из применяемого поиска. Допускается многократный поиск, а также поисковые поля могут быть выстроены по цепочке:

Employee.objects.filter(first_name__exact='John', created__year__lt=2024)

Тем самым мы получаем сотрудника с именем John, созданного раньше 2024 года.

 

Полный список поисковых полей Django

  • exact/iexact    Точное совпадение. iexact - версия без учета регистра.    
  • contains/icontains    Поле содержит текст поиска. icontains это версия без учета регистра.
  • in    В указанной итерации (список, кортеж или QuerySet)
  • gt/gte    Больше чем / больше чем или равно    
  • lt/lte    Меньше чем/меньше чем или равно    
  • startswith/istartswith    Начинается в строке поиска. istartswith это версия без учета регистра.
  • endswith/iendswith    Заканчивается в строке поиска. iendswith это версия без учета регистра.
  • range    Тест диапазона. Диапазон включает в себя начальное и конечное значения
  • date    Передает значение в виде даты. Используется для поиска полей datetime
  • year    Поиск точного совпадения года
  • iso_year    Поиск точного совпадения по году ISO 8601
  • month    Поиск точного совпадения месяца
  • day    Поиск точного совпадения дня
  • week    Поиск точного совпадения недели
  • week_day    Поиск точного совпадения дня недели
  • quarter    Поиск точного совпадения квартала года.
  • time    Использует значение времени. Используется для поиска полей datetime
  • hour/minute/second    Поиск точного совпадения по часам, минутам или секундам.
  • isnull    Проверяет, есть ли нулевое поле. Возвращает True или False
  • regex/iregex    Совпадение регулярных выражений. iregex - версия без учета регистра.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.