class Book(db.Model): """Book model.""" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(80), nullable=False) publish_date = db.Column(db.Date) # The author - Who wrote it? author_id = db.Column(db.Integer, db.ForeignKey("author.id"), nullable=False) author = db.relationship("Author", back_populates="books") # The audience - Who is this book written for? audience = db.Column(db.Enum(Audience), default=Audience.ALL) # The genres, e.g. fiction, sci-fi, fantasy genres = db.relationship("Genre", secondary="book_genre", back_populates="books") # Who favorited this book? users_who_favorited = db.relationship("User", secondary="user_book", back_populates="favorite_books") def __str__(self): return f"<Book: {self.title}>" def __repr__(self): return f"<Book: {self.title}>"
class Book(db.Model): """Book model.""" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(80), nullable=False) publish_date = db.Column(db.Date) # The author - Who wrote it? author_id = db.Column(db.Integer, db.ForeignKey('author.id'), nullable=False) author = db.relationship('Author', back_populates='books') # The audience - Who is this book written for? audience = db.Column(db.Enum(Audience), default=Audience.ALL) # The genres, e.g. fiction, sci-fi, fantasy genres = db.relationship('Genre', secondary='book_genre', back_populates='books') def __str__(self): return f'<Book: {self.title}>' def __repr__(self): return f'<Book: {self.title}><Publish Date: {self.publish_date}>'