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

Метод none

Метод none применяется к QuerySet и возвращает пустой QuerySet, который не содержит ни одной записи. Этот метод полезен в тех случаях, когда необходимо вернуть заведомо пустой результат, например, при условной фильтрации или для создания объекта QuerySet, который гарантированно не будет выполнять запрос к базе данных. Метод не принимает аргументов и может быть вызван как на менеджере модели, так и на существующем QuerySet.

Синтаксис

Model.objects.none()

Пример

Создадим пустой QuerySet для модели Article:

from myapp.models import Article empty_qs = Article.objects.none() print(empty_qs)

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

<QuerySet []>

Пример

Используем метод none для возврата пустого результата при определённом условии:

from myapp.models import Article def get_articles(user): if not user.is_authenticated: return Article.objects.none() return Article.objects.filter(status='published')

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

<QuerySet []>

Пример

Вызов метода none на существующем QuerySet для сброса всех условий фильтрации:

from myapp.models import Article articles = Article.objects.filter(status='published') empty = articles.none() print(empty)

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

<QuerySet []>

Пример

Использование метода none в качестве заглушки для методов, которые должны возвращать QuerySet:

from myapp.models import Article class ArticleManager: @staticmethod def get_for_user(user): if not user.is_active: return Article.objects.none() return Article.objects.filter(author=user)

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

<QuerySet []>

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

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