Back to questions
Junior — Middle
64
Можешь перечислить различные методы работы с QuerySet в Django?
Answer from AI
sobes.tech AI
В Django QuerySet — это ленивый набор запросов к базе данных, который позволяет фильтровать, сортировать и изменять выборку данных.
Основные методы работы с QuerySet:
filter(**kwargs)— фильтрует записи по заданным условиям.exclude(**kwargs)— исключает записи, соответствующие условиям.all()— возвращает все записи.order_by(*fields)— сортирует записи по указанным полям.values(*fields)— возвращает QuerySet словарей с указанными полями.values_list(*fields, flat=False)— возвращает кортежи значений указанных полей.get(**kwargs)— возвращает один объект, соответствующий условиям (выбрасывает исключение, если объектов нет или их несколько).count()— возвращает количество записей.exists()— проверяет, есть ли записи.update(**kwargs)— обновляет поля выбранных записей.delete()— удаляет записи.select_related(*fields)— оптимизирует запросы с внешними ключами, делая JOIN.prefetch_related(*fields)— оптимизирует запросы с ManyToMany и обратными связями.
Пример:
from myapp.models import Book
books = Book.objects.filter(author='Толстой').order_by('title')
for book in books:
print(book.title)