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

Менеджер objects

Менеджер objects - это атрибут каждой модели Django, который предоставляет доступ к методам для выполнения запросов к базе данных. Через менеджер выполняются операции создания, чтения, обновления и удаления записей. По умолчанию каждая модель получает стандартный менеджер objects, но его можно переопределить или создать собственные кастомные менеджеры для специфических задач.

Синтаксис

Model.objects.method_name(*args, **kwargs)

Пример

Создадим простую модель для работы со статьями:

from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() status = models.CharField(max_length=20) created_at = models.DateTimeField(auto_now_add=True) views = models.IntegerField(default=0) def __str__(self): return self.title

Пример

Получение всех записей из базы данных через менеджер objects:

from myapp.models import Article all_articles = Article.objects.all() for article in all_articles: print(f"{article.title}: {article.status}")

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

"Django Basics: published" "Advanced ORM: draft" "REST API Guide: published"

Пример

Создание новой записи с помощью метода create менеджера:

from myapp.models import Article new_article = Article.objects.create( title="Working with Django Managers", content="This article covers manager methods", status="published" ) print(f"Created article: {new_article.title}")

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

"Created article: Working with Django Managers"

Пример

Фильтрация записей через objects с использованием оператора поиска:

from myapp.models import Article published_articles = Article.objects.filter(status="published") for article in published_articles: print(f"Title: {article.title}, Views: {article.views}")

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

"Title: Django Basics, Views: 150" "Title: REST API Guide, Views: 89"

Пример

Получение количества записей с помощью метода count менеджера:

from myapp.models import Article total_count = Article.objects.count() published_count = Article.objects.filter(status="published").count() print(f"Total articles: {total_count}") print(f"Published articles: {published_count}")

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

"Total articles: 3" "Published articles: 2"

Пример

Получение первой записи из QuerySet с помощью метода first:

from myapp.models import Article first_article = Article.objects.filter(status="published").first() if first_article: print(f"First published article: {first_article.title}") else: print("No published articles found")

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

"First published article: Django Basics"

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

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