Sobes.tech
Junior — Senior

Creating a book record and its covers in Django

livecode

Task condition

Conduct a review of the function responsible for saving a book and related covers in the database via Django ORM. Pay attention to transaction handling correctness, input data validation, and potential query optimization.


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