Time for action defining the Books database

The next step is to create a module booksdb.py that uses the entity and relation modules to construct a data model that can be used conveniently by the delivery layer (the parts of the web application that deal with providing content to the client). We therefore have to define Book, Author, and User entities as well as a BookAuthor relation and a UserBook relation.

We will also provide some functions that are bit more high-level, for example, a newbook() function that checks whether a book with a given title already exists and that only creates a new Book instance if the authors are different (presumably because they wrote a book with the same title).

Having a separate layer that models data in terms ...

Get Python 3 Web Development Beginner's Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.