Junior — Senior
Creating a book and its covers
livecode
Task condition
The create_book function is responsible for creating a Book model record and associated BookCover model records. The list of covers is passed as an array of dictionaries, nested within the validate_data parameter.
def create_book(validate_data: dict):
cover_list: list[dict] = validate_data.pop('covers')
new_book = Book.objects.create(**validate_data)
objs = []
for cover_data in cover_list:
BookCover.objects.create(**cover_data, book=new_book)
Inside the function, cover data is first extracted, then a book object is created, and for each cover, a separate record is formed, linked to the newly created book.