Ejemplo n.º 1
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), nullable=False, unique=True)
    password = db.Column(db.String(200), nullable=False)
    favorite_books = db.relationship(
        'Book', secondary='user_book', back_populates='users_who_favorited')

    def __repr__(self):
        return f'<User: {self.username}>'
Ejemplo n.º 2
0
class Author(db.Model):
    """Author model."""
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    biography = db.Column(db.String(200))
    books = db.relationship('Book', back_populates='author')

    def __str__(self):
        return f'<Author: {self.name}>'

    def __repr__(self):
        return f'<Author: {self.name}>'
Ejemplo n.º 3
0
class Author(db.Model):
    """Author model."""

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    biography = db.Column(db.String(200))
    books = db.relationship("Book", back_populates="author")

    # birthdate = db.Column(db.Date)

    def __str__(self):
        return f"<Author: {self.name}>"

    def __repr__(self):
        return f"<Author: {self.name}>"
Ejemplo n.º 4
0
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}>"
Ejemplo n.º 5
0
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}>'
class Genre(db.Model):
    """Genre model."""
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False, unique=True)
    books = db.relationship('Book', secondary='book_genre', back_populates='genres')

    def __str__(self):
        return f'<Genre: {self.name}>'

    def __repr__(self):
        return f'<Genre: {self.name}>'
Ejemplo n.º 7
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), nullable=False, unique=True)
    favorite_books = db.relationship("Book",
                                     secondary="user_book",
                                     back_populates="users_who_favorited")
Ejemplo n.º 8
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    favorite_books = db.relationship('Book', secondary="favorite_books")