Files
benchcoach-django/lineups/models.py

49 lines
1.3 KiB
Python

from django.db import models
from players.models import Player
from events.models import Event
# Create your models here.
class Positioning(models.Model):
player = models.ForeignKey(Player, on_delete=models.CASCADE)
event = models.ForeignKey(Event, on_delete=models.CASCADE)
positions = [
('EH', 'EH'),
('P', 'P'),
('C', 'C'),
('1B', '1B'),
('2B', '2B'),
('3B', '3B'),
('SS', 'SS'),
('LF', 'LF'),
('CF', 'CF'),
('RF', 'RF'),
('DH','DH')
]
position = models.CharField(choices=positions, default=None, max_length=2, null=True)
order = models.PositiveSmallIntegerField(default=0, null=True)
class Meta:
unique_together = ('player', 'event',)
class Availability(models.Model):
YES = 2
MAYBE = 1
NO = 0
UNKNOWN = -1
event = models.ForeignKey(Event, on_delete=models.CASCADE)
player = models.ForeignKey(Player, on_delete=models.CASCADE)
choices = [
(YES, 'Yes'),
(NO, 'No'),
(MAYBE, 'Maybe'),
(UNKNOWN, 'Unknown')
]
available = models.IntegerField(choices=choices, default=UNKNOWN)
def __str__(self):
return f"{self.event}; {self.player}; {self.available}"
class Meta:
unique_together = ('event', 'player',)
verbose_name_plural = "availabilities"