from flask_sqlalchemy import SQLAlchemy from datetime import datetime db = SQLAlchemy() class CommissionPersons(db.Model): id = db.Column(db.Integer, primary_key=True) fio = db.Column(db.String(80), unique=True, nullable=False) ispredsedatel = db.Column(db.Boolean, nullable=False, default=False) isrecenzent = db.Column(db.Boolean, nullable=False, default=False) issecretar = db.Column(db.Boolean, nullable=False, default=False) class CommissionSostav(db.Model): id = db.Column(db.Integer, primary_key=True) predsedatel = db.Column(db.String(100), nullable=False) uchastnik1=db.Column(db.String(100), nullable=False) uchastnik2=db.Column(db.String(100), nullable=False) uchastnik3=db.Column(db.String(100), nullable=False) uchastnik4=db.Column(db.String(100), nullable=False) secretar=db.Column(db.String(100), nullable=False) class Rukovoditeli(db.Model): id = db.Column(db.Integer, primary_key=True) fio = db.Column(db.String(80), nullable=False) canMagistr = db.Column(db.Boolean, nullable=False, default=False) stepen = db.Column(db.String(80), nullable=False) dolognost = db.Column(db.String(80), nullable=False) class Studentus(db.Model): id = db.Column(db.Integer, primary_key=True) fio = db.Column(db.String(80), nullable=False) vkrTheme = db.Column(db.String(80), nullable=False) rucovoditel_id = db.Column(db.Integer, db.ForeignKey('rukovoditeli.id'), nullable=False) konsultant_id = db.Column(db.Integer, db.ForeignKey('rukovoditeli.id'), nullable=False) rucovoditel = db.relationship('Rukovoditeli', foreign_keys=[rucovoditel_id], backref=db.backref('students_as_rucovoditel', lazy=True)) konsultant = db.relationship('Rukovoditeli', foreign_keys=[konsultant_id], backref=db.backref('students_as_konsultant', lazy=True)) class CommissionZasedanie(db.Model): id = db.Column(db.Integer, primary_key=True) data = db.Column(db.DateTime, nullable=False) commission_sostav_id = db.Column(db.Integer, db.ForeignKey('commission_sostav.id'), nullable=False) commission_sostav = db.relationship('CommissionSostav', uselist=False, backref=db.backref('zasedanie', lazy=True)) students = db.relationship('Studentus', backref=db.backref('zasedanie', lazy=True))