Skip to content

Instantly share code, notes, and snippets.

@blohinn
Created April 16, 2018 16:09
Show Gist options
  • Select an option

  • Save blohinn/671c60ff5455d6b4e3f97076ca5d60a6 to your computer and use it in GitHub Desktop.

Select an option

Save blohinn/671c60ff5455d6b4e3f97076ca5d60a6 to your computer and use it in GitHub Desktop.

Revisions

  1. blohinn created this gist Apr 16, 2018.
    45 changes: 45 additions & 0 deletions models.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,45 @@
    from . import db


    # Many To Many

    class Exam(db.Model):
    __tablename__ = 'exams'
    score = db.Column(db.Integer, nullable=False)

    student_id = db.Column(db.Integer, db.ForeignKey('students.id'), primary_key=True)
    course_no = db.Column(db.VARCHAR(5), db.ForeignKey('courses.c_no'), primary_key=True)

    student = db.relationship('Student', backref=db.backref('exams', cascade='all, delete'))
    course = db.relationship('Course', backref=db.backref('exams', cascade='all, delete'))


    class Student(db.Model):
    __tablename__ = 'students'
    id = db.Column(db.Integer, primary_key=True)
    full_name = db.Column(db.String(64), nullable=False)


    class Course(db.Model):
    __tablename__ = 'courses'
    c_no = db.Column(db.VARCHAR(5), nullable=False, primary_key=True)
    hours = db.Column(db.Integer, nullable=False)


    # Many To One

    class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    full_name = db.Column(db.String(64), nullable=False)

    # addresses = db.relationship('Address', backref=db.backref('user'))


    class Address(db.Model):
    __tablename__ = 'addresses'
    id = db.Column(db.Integer, primary_key=True)
    address = db.Column(db.String(64), nullable=False)

    u_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    user = db.relationship('User', backref=db.backref('addresses', cascade="all, delete"))