class Student(User, db.Model): grade_id = db.Column(db.Integer, db.ForeignKey("grade.id"), nullable=False) grade = db.relationship("Grade", backref=db.backref("students", lazy=True)) parent_id = db.Column(db.Integer, db.ForeignKey("parent.id"), nullable=False) parent = db.relationship("Parent", backref=db.backref("children"), lazy=True) school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) school = db.relationship("School", backref=db.backref("students"), lazy=True)
class Marks(db.Model): id = db.Column(db.Integer, primary_key=True) mark = db.Column(db.Integer, nullable=True, unique=False) attendance = db.Column(db.Text, nullable=True, unique=False) subject_id = db.Column(db.Integer, db.ForeignKey("subject_description.id"), nullable=False) student_id = db.Column(db.Integer, db.ForeignKey("student.id"), nullable=False) school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) subject = db.relationship("SubjectDescription", backref="marks", lazy=True) student = db.relationship("Student", backref="marks", lazy=True)
class Teacher(User, db.Model): school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) school = db.relationship("School", backref=db.backref("teachers"), lazy=True) homeroom_grade_id = db.Column(db.Integer, db.ForeignKey("grade.id"), nullable=True) homeroom_grade = db.relationship("Grade", backref=db.backref("homeroom_teacher"), lazy=True) subjects = db.relationship("Subject", secondary=teacher_subjects, backref=db.backref("teachers", lazy=True))
class Parent(User, db.Model): school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) school = db.relationship("School", backref=db.backref("parents"), lazy=True)
class SubjectDescription(db.Model): id = db.Column(db.Integer, primary_key=True) subject_id = db.Column(db.Integer, db.ForeignKey("subject.id"), nullable=False) school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) date = db.Column(db.DateTime, nullable=False) grade_id = db.Column(db.Integer, db.ForeignKey("grade.id"), nullable=False) grade = db.relationship("Grade", backref="subject_descriptions", lazy=True) subject = db.relationship("Subject", backref="subject_descriptions", lazy=True) theme = db.Column(db.Text, nullable=False, unique=False) homework = db.Column(db.Text, nullable=False, unique=False)
class Schedule(db.Model): id = db.Column(db.Integer, primary_key=True) day = db.Column(db.Integer, unique=False, nullable=False) subject_number = db.Column(db.Integer, unique=False, nullable=False) subject_id = db.Column(db.Integer, db.ForeignKey("subject.id"), nullable=False) subject = db.relationship("Subject", backref="schedule", lazy=True) school_id = db.Column(db.Integer, db.ForeignKey("school.id"), nullable=False) teacher_id = db.Column(db.Integer, db.ForeignKey("teacher.id"), nullable=False) teacher = db.relationship("Teacher", backref=db.backref("schedule"), lazy=True) grade_id = db.Column(db.Integer, db.ForeignKey("grade.id"), nullable=False) grade = db.relationship("Grade", backref="subjects", lazy=True)