Updated model

stream
Laurent 2 years ago
parent 731eb50559
commit a749ec88ad
  1. 61
      tournaments/models.py

@ -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)

Loading…
Cancel
Save