Sobes.tech
Junior — Senior
55

Подсчёт количества запросов к базе в Django ORM

被问到的公司:

X5
任务条件

Определите, сколько SQL‑запросов будет отправлено к базе данных при выполнении следующих операций в Django ORM.

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=255)

class Book(models.Model):
    name = models.CharField(max_length=255)
    author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')
    price = models.IntegerField(default=100)

# Получаем QuerySet со всеми книгами
books_qs = Book.objects.all()

# Фильтруем книги по первому автору
books_by_author1 = books_qs.filter(author_id=1)
# Фильтруем книги по второму автору
books_by_author2 = books_qs.filter(author_id=2)

Проанализируйте, какие запросы будет выполнены при создании books_qs и при каждом из фильтров.