Назад к задачам
Junior — Senior
8

Регистрация книги вместе с её обложками через API

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

При получении POST‑запроса, отвечающего за создание новой книги, вызывается функция create_book. Она формирует запись модели Book, а затем создает связанные записи модели BookCover. Необходимо выполнить ревью кода: оценить корректность и надёжность процесса создания сущностей, обратить внимание на возможные проблемы с транзакционностью и оптимизацией.

def create_book(data: dict):
    cover_list: list[dict] = data.pop('covers')
    new_book = Book.objects.create(**data)
    for cover in cover_list:
        BookCover.objects.create(**cover, book_id=new_book.id)