22 lines
1.0 KiB
Python
22 lines
1.0 KiB
Python
"""Match / scrimmage within a tryout."""
|
|
from app.extensions import db
|
|
from app.models.match_model.base import BaseMatch
|
|
|
|
|
|
class Match(BaseMatch):
|
|
"""Match / scrimmage within a tryout."""
|
|
__tablename__ = 'matches'
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
tryout_id = db.Column(db.Integer, db.ForeignKey('tryouts.id'), nullable=False)
|
|
match_type = db.Column(db.String(20), nullable=False)
|
|
team1_id = db.Column(db.Integer, db.ForeignKey('teams.id'), nullable=True)
|
|
team2_id = db.Column(db.Integer, db.ForeignKey('teams.id'), nullable=True)
|
|
|
|
creator = db.relationship('User', backref='created_matches')
|
|
tryout = db.relationship('Tryout', backref='matches')
|
|
team1 = db.relationship('Team', foreign_keys=[team1_id], backref='matches_as_team1')
|
|
team2 = db.relationship('Team', foreign_keys=[team2_id], backref='matches_as_team2')
|
|
participants = db.relationship('MatchParticipant', backref='match', lazy='dynamic')
|
|
|
|
def get_participating_players(self):
|
|
return [p.player_id for p in self.participants.all()] |