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

Добавление книги и её обложек через 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)