from datetime import datetime from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(255), unique=True, nullable=False) password = db.Column(db.String(255), nullable=False) def __init__(self, username=None, password=None): self.username = username self.password = password def __repr__(self): return f'' class Message(db.Model): __tablename__ = 'messages' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) email = db.Column(db.String(255), nullable=False) message = db.Column(db.Text, nullable=False) sended = db.Column(db.DateTime, default=datetime.utcnow) def __init__(self, name=None, email=None, message=None): self.name = name self.email = email self.message = message def __repr__(self): return f'' class File(db.Model): __tablename__ = 'files' id = db.Column(db.Integer, primary_key=True) filename = db.Column(db.String(255), nullable=False) private = db.Column(db.Integer, nullable=False) category_id = db.Column( db.Integer, db.ForeignKey('categories.id'), nullable=False) file_type_id = db.Column( db.Integer, db.ForeignKey('file_types.id'), nullable=False) def __init__( self, filename=None, private=None, category_id=None, file_type_id=None): self.filename = filename self.private = private self.category_id = category_id self.file_type_id = file_type_id def __repr__(self): return f'' class Category(db.Model): __tablename__ = 'categories' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) files = db.relationship('File', backref='category', lazy=True) def __init__(self, name=None): self.name = name def __repr__(self): return f'' class FileType(db.Model): __tablename__ = 'file_types' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) files = db.relationship('File', backref='type', lazy=True) def __init__(self, name=None): self.name = name def __repr__(self): return f''