|
|
|
@ -19,10 +19,69 @@ class CustomUser(AbstractUser): |
|
|
|
def __str__(self): |
|
|
|
def __str__(self): |
|
|
|
return self.username |
|
|
|
return self.username |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Event(models.Model): |
|
|
|
|
|
|
|
club = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
|
|
|
|
class Tournament(models.Model): |
|
|
|
class Tournament(models.Model): |
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
club = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
event = models.ForeignKey(Event, on_delete=models.CASCADE) |
|
|
|
name = models.CharField(max_length=200) |
|
|
|
name = models.CharField(max_length=200) |
|
|
|
|
|
|
|
date = models.DateField(null=True, blank=True) |
|
|
|
|
|
|
|
private = models.BooleanField() |
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
def __str__(self): |
|
|
|
return self.name |
|
|
|
return self.name |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Round(models.Model): |
|
|
|
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
index = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
tournament = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
# winner = models.ForeignKey('self', on_delete=models.CASCADE) |
|
|
|
|
|
|
|
loser = models.ForeignKey('self', on_delete=models.CASCADE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GroupStage(models.Model): |
|
|
|
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
index = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Match(models.Model): |
|
|
|
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
round = models.ForeignKey(Round, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
index = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
format = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
group_stage = models.ForeignKey(GroupStage, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
court = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
start_date = models.DateField(null=True, blank=True) |
|
|
|
|
|
|
|
end_date = models.DateField(null=True, blank=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TeamState(models.Model): |
|
|
|
|
|
|
|
score_team = models.CharField(max_length=200) |
|
|
|
|
|
|
|
walk_out = models.IntegerField(null=True, blank=True) #id, int of the walked_out team |
|
|
|
|
|
|
|
lucky_loser = models.BooleanField() |
|
|
|
|
|
|
|
serve = models.BooleanField() |
|
|
|
|
|
|
|
match = models.ForeignKey(Match, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
has_won = models.BooleanField() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TeamRegistration(models.Model): |
|
|
|
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
match = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
registration_date = models.DateField(null=True, blank=True) |
|
|
|
|
|
|
|
call_date = models.DateField(null=True, blank=True) |
|
|
|
|
|
|
|
initial_position = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
group_stage_position = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
group_stage = models.ForeignKey(GroupStage, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
logo = models.CharField(max_length=200, null=True, blank=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# class Group(models.Model): |
|
|
|
|
|
|
|
# id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
# # player = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PlayerRegistration(models.Model): |
|
|
|
|
|
|
|
first_name = models.CharField(max_length=200) |
|
|
|
|
|
|
|
last_name = models.CharField(max_length=200) |
|
|
|
|
|
|
|
licence_id = models.CharField(max_length=200) |
|
|
|
|
|
|
|
rank = models.IntegerField(null=True, blank=True) |
|
|
|
|
|
|
|
has_paid = models.BooleanField() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
team = models.ForeignKey(TeamRegistration, on_delete=models.CASCADE) |
|
|
|
|
|
|
|
teamState = models.ManyToManyField(TeamState) |
|
|
|
|
|
|
|
# player = models.ForeignKey(Club, on_delete=models.CASCADE) |
|
|
|
|