from app import db from marshmallow import Schema, fields, ValidationError, pre_load authors = db.Table('books_authors', db.Column('book_id', db.Integer, db.ForeignKey('books.id'), primary_key=True), db.Column('author_id', db.Integer, db.ForeignKey('authors.id'), primary_key=True) ) tags = db.Table('books_tags', db.Column('book_id', db.Integer, db.ForeignKey('books.id'), primary_key=True), db.Column('tag_id', db.Integer, db.ForeignKey('tags.id'), primary_key=True) ) class Book(db.Model): __tablename__ = 'books' id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(255)) file = db.Column(db.String(255)) cover = db.Column(db.String(255)) fileformat = db.Column(db.String(255)) category = db.Column(db.String(255)) authors = db.relationship('Author', secondary=authors, lazy='subquery', backref=db.backref('books', lazy=True)) tags = db.relationship('Tag', secondary=tags, lazy='subquery', backref=db.backref('books', lazy=True)) def __init__(self, title, file, cover, fileformat, category): self.title = title self.file = file self.cover = cover self.fileformat = fileformat self.category = category def __repr__(self): return '