class Result(db.Model): __tablename__ = 'result' id = db.Column(db.Integer, primary_key=True) race_id = db.Column(db.Integer, db.ForeignKey('race.id')) race = db.relationship('Race') time = db.Column(db.Integer) distance = db.Column(db.Float) comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) participants = db.relationship( 'Member', secondary=RaceParticipant.__tablename__, order_by='Member.year, Member.family_kana, Member.first_kana', backref='results') def __repr__(self): return "<Result(id:{}, race_id:{}, time:{}, distance:{}, participants:{})>".\ format(self.id, self.race_id, self.time, self.distance, self.participants)
class Race(db.Model): __tablename__ = 'race' id = db.Column(db.Integer, primary_key=True) course_id = db.Column(db.Integer, db.ForeignKey('course.id')) course = db.relationship('Course') date = db.Column(db.Date, nullable=False) # results = db.relationship('Result', # backref="race", # order_by='Result.time' # ) results = db.relationship('Result') comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) def __repr__(self): return "<Race(id:{}, {}, date {:%Y-%m-%d})>".format( self.id, self.course, self.date)
class Course(db.Model): __tablename__ = 'course' id = db.Column(db.Integer, primary_key=True) competition_id = db.Column(db.Integer, db.ForeignKey('competition.id')) competition = db.relationship('Competition') type = db.Column(db.String(30)) show_name = db.Column(db.String(30)) time = db.Column(db.Integer) distance = db.Column(db.Float) elevation = db.Column(db.Integer) comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) races = db.relationship("Race") def __repr__(self): return "<Course(id:{}, 大会:{}, 距離:{}km)>".format( self.id, self.competition.name, self.distance)
class Training(db.Model): __tablename__ = 'training' id = db.Column(db.Integer, primary_key=True) date = db.Column(db.Date, nullable=False) type = db.Column(db.String(30), nullable=False) weather = db.Column(db.String(30), nullable=False) title = db.Column(db.String(100), nullable=False) comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) participants = db.relationship( 'Member', secondary=TrainingParticipant.__tablename__, order_by='Member.year, Member.family_kana, Member.first_kana') def __repr__(self): return "<Training(id:{}, {:%Y-%m-%d}, place:{}, title:'{}')>"\ .format(self.id, self.date, self.place, self.title)
class After(db.Model): __tablename__ = 'after' id = db.Column(db.Integer, primary_key=True) date = db.Column(db.Date, nullable=False) after_stage = db.Column(db.Integer, nullable=False, server_default=db.text('1')) restaurant_id = db.Column(db.Integer, db.ForeignKey('restaurant.id'), nullable=False) title = db.Column(db.String(128), nullable=False) comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) restaurant = db.relationship('Restaurant') participants = db.relationship( 'Member', secondary=AfterParticipant.__tablename__, order_by='Member.year, Member.family_kana, Member.first_kana') def __repr__(self): # return "<After(id:{}, {:%Y-%m-%d}, title:'{}')>".format(self.id, # self.date, self.title) tmp = 'id:{}'.format(self.id) if self.date: tmp += ', {:%Y-%m-%d}'.format(self.date) tmp += ', {}次会'.format(self.after_stage) tmp += ', {}'.format(self.title) return "<After({})>".format(tmp)
class Competition(db.Model): __tablename__ = 'competition' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60)) kana = db.Column(db.String(60)) show_name = db.Column(db.String(30)) place = db.Column(db.String(30)) comment = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=current_timestamp()) updated_at = db.Column( db.DateTime, nullable=False, server_default=db.text( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) courses = db.relationship("Course") def __repr__(self): return "<Competition(id:{}, name:{}, place:{}, comment:'{}')>".format( self.id, self.name, self.place, self.comment)