Active la regle isort (I) de ruff. 45 fichiers reordonnes, aucun changement de comportement : la suite passe avant comme apres. app/models/__init__.py en est exclu. Ses imports sont ranges en onze couches commentees qui decrivent le graphe de dependances ; trier par ordre alphabetique laisse chaque titre au-dessus d un import qu il ne decrit pas, et ce fichier n a qu un role, etre lu. Commit isole, comme le formatage : un diff de brassage ne doit pas servir de couverture a un changement de comportement.
25 lines
932 B
Python
25 lines
932 B
Python
"""Many-to-many junction: player to org-team."""
|
|
|
|
from datetime import datetime
|
|
|
|
from app.extensions import db
|
|
|
|
|
|
class TeamPlayer(db.Model):
|
|
"""Many-to-many: player to org-team."""
|
|
|
|
__tablename__ = 'team_players'
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
player_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
|
|
org_team_id = db.Column(db.Integer, db.ForeignKey('org_teams.id'), nullable=False)
|
|
status = db.Column(db.String(20), nullable=False, default='starter')
|
|
position = db.Column(db.String(50), nullable=True)
|
|
added_at = db.Column(db.DateTime, default=datetime.utcnow)
|
|
|
|
player = db.relationship('User', foreign_keys=[player_id], backref='team_placements')
|
|
org_team = db.relationship('OrgTeam', foreign_keys=[org_team_id], backref='team_players')
|
|
|
|
__table_args__ = (
|
|
db.UniqueConstraint('player_id', 'org_team_id', name='unique_player_org_team'),
|
|
)
|