"""Regular-season match for an organisation team (not tied to a tryout).""" from app.extensions import db from app.models.match_model.base import BaseMatch class TeamMatch(BaseMatch): """Regular-season match for an organisation team (not tied to a tryout).""" __tablename__ = 'team_matches' id = db.Column(db.Integer, primary_key=True) org_team_id = db.Column(db.Integer, db.ForeignKey('org_teams.id'), nullable=False) opponent = db.Column(db.String(200), nullable=True) org_team = db.relationship('OrgTeam', backref='team_matches') creator = db.relationship('User', backref='created_team_matches') participants = db.relationship( 'TeamMatchParticipant', backref='team_match', lazy='dynamic', cascade='all, delete-orphan' ) def get_confirmed_count(self): all_p = self.participants.all() confirmed = sum(1 for p in all_p if p.is_confirmed) return confirmed, len(all_p)