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

Метод exclude

Метод exclude применяется к QuerySet и возвращает новый QuerySet, содержащий объекты, которые не соответствуют переданным условиям. Он работает противоположно методу filter - включает все записи, кроме тех, которые удовлетворяют указанным критериям. Аргументы передаются в виде ключевых параметров, где ключ - это имя поля с оператором поиска, а значение - условие исключения. Метод можно вызывать цепочкой для уточнения исключений.

Синтаксис

Model.objects.exclude(**conditions)

Пример

Исключим статьи, у которых статус равен 'draft':

from myapp.models import Article published_articles = Article.objects.exclude(status='draft') for article in published_articles: print(article.title)

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

"article 1" "article 2" "article 3"

Пример

Исключим статьи, созданные до 2025 года:

from myapp.models import Article from datetime import date new_articles = Article.objects.exclude(created_at__date__lt=date(2025, 1, 1)) for article in new_articles: print(article.title)

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

"article 1" "article 2"

Пример

Цепочка исключений для выборки статей, у которых рейтинг не ниже 4 и статус не 'archived':

from myapp.models import Article result = (Article.objects .exclude(rating__lt=4) .exclude(status='archived') ) for article in result: print(article.title)

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

"article 1" "article 3"

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

  • метод filter,
    который включает записи в QuerySet
  • метод get,
    который получает одну запись из базы данных
  • метод order_by,
    который сортирует QuerySet по указанным полям
  • метод values,
    который возвращает QuerySet словарей вместо объектов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить