49 lines
2.3 KiB
Python
49 lines
2.3 KiB
Python
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))
|