class Shows(db.Model): __tablename__ = "Shows" id = db.Column(db.Integer, primary_key=True) artist_id = db.Column(db.Integer, db.ForeignKey("Artist.id")) venue_id = db.Column(db.Integer, db.ForeignKey("Venue.id")) start_time = db.Column(db.DateTime)
class Instructor(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) qualification = db.Column(db.String) enrollment = db.relationship("Enrollment", backref="teacher", cascade="all,delete", lazy=True)
class Enrollment(db.Model): __tablename__ = "Enrollment" id = db.Column(db.Integer, primary_key=True) course_id = db.Column(db.Integer, db.ForeignKey("course.id"), nullable=False) instructor_id = db.Column(db.Integer, db.ForeignKey("instructor.id"), nullable=False)
class Role(db.Model): # 定义表名 __tablename__ = 'roles' # 定义列对象 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True) user = db.relationship('User', backref='role') #repr()方法显示一个可读字符串,虽然不是完全必要,不过用于调试和测试还是很不错的。 def __repr__(self): return '<Role {}> '.format(self.name)
class Course(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200)) description = db.Column(db.String(1000)) duration = db.Column(db.String(120)) image_link = db.Column(db.String(500)) instructor = db.Column(db.String(120)) enrollment = db.relationship("Enrollment", backref="subject", cascade="all,delete", lazy=True)
class Artist(db.Model): __tablename__ = "Artist" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) city = db.Column(db.String(120)) state = db.Column(db.String(120)) phone = db.Column(db.String(120)) genres = db.Column(JSON) website = db.Column(db.String(120)) seeking_venue = db.Column(db.String()) seeking_description = db.Column(db.String()) image_link = db.Column(db.String(500)) facebook_link = db.Column(db.String(120)) shows = db.relationship("Shows", backref="Artist", cascade="all,delete", lazy=True)