Ejemplo n.º 1
0
class MatchModel(db.Model):
    __tablename__ = 'match'

    id = db.Column(db.Integer(), nullable=False, primary_key=True)
    round_id = db.Column(db.Integer(),
                         db.ForeignKey('round.id'),
                         nullable=False,
                         index=True)
    place = db.Column(db.Unicode(1024), nullable=False)
    introduction = db.Column(db.UnicodeText(), nullable=False)
    date_started = db.Column(db.DateTime(timezone=True),
                             nullable=True,
                             index=True)
    date_created = db.Column(db.DateTime(timezone=True),
                             nullable=False,
                             index=True,
                             server_default=db.func.current_timestamp())

    players = db.relationship(
        'MatchPlayerModel',
        primaryjoin='MatchModel.id==MatchPlayerModel.match_id',
        order_by=MatchPlayerModel.is_home.desc(),
        foreign_keys='[MatchPlayerModel.match_id]',
        backref=db.backref('match', lazy='subquery', innerjoin=True),
        passive_deletes='all',
        lazy='dynamic')

    @property
    def url(self):
        return url_for("views.match", cid=self.id)

    def __str__(self):
        return self.name
Ejemplo n.º 2
0
class ArticleContentModel(db.Model):
    __tablename__ = 'article_content'

    id = db.Column(db.Integer(),
                   db.ForeignKey('article.id'),
                   nullable=False,
                   primary_key=True)
    content = db.Column(db.UnicodeText(), nullable=False)
Ejemplo n.º 3
0
class ChannelSummaryModel(db.Model):
    __tablename__ = 'channel_summary'

    id = db.Column(db.Integer(),
                   db.ForeignKey('channel.id'),
                   nullable=False,
                   primary_key=True)
    content = db.Column(db.UnicodeText(), nullable=False)
Ejemplo n.º 4
0
class TeamModel(db.Model):
    __tablename__ = 'team'

    id = db.Column(db.Integer(), nullable=False, primary_key=True)
    name = db.Column(db.Unicode(256), nullable=False, unique=True, index=True)
    introduction = db.Column(db.UnicodeText(), nullable=False)
    date_created = db.Column(db.DateTime(timezone=True),
                             nullable=False,
                             index=True,
                             server_default=db.func.current_timestamp())

    @property
    def url(self):
        return url_for("views.team", cid=self.id)

    def __str__(self):
        return self.name
Ejemplo n.º 5
0
class StaffModel(db.Model):
    __tablename__ = 'staff'

    id = db.Column(db.Integer(), nullable=False, primary_key=True)
    level_id = db.Column(db.Integer(),
                         db.ForeignKey('level.id'),
                         nullable=False,
                         index=True)
    name = db.Column(db.Unicode(256), nullable=False)
    avatar = db.Column(db.Unicode(length=2083), nullable=False)
    synopsis = db.Column(db.UnicodeText(), nullable=False)
    info = db.Column(db.MutableDict.as_mutable(db.JSONType()), nullable=True)
    date_created = db.Column(db.DateTime(timezone=True),
                             nullable=False,
                             index=True,
                             server_default=db.func.current_timestamp())

    @hybrid_property
    def paper(self):
        return self.info.get('paper')

    @paper.setter
    def _set_paper(self, value):
        self.info['paper'] = value