73 lines
2.8 KiB
Python
73 lines
2.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import models
|
|
|
|
# Create your models here.
|
|
|
|
class Team(models.Model):
|
|
# Name of the team
|
|
name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class Driver(models.Model):
|
|
# Name of the pilot
|
|
first_name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
|
last_name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
|
|
|
def __str__(self):
|
|
return self.last_name
|
|
|
|
class Rules(models.Model):
|
|
#Minimum time in the pitlane
|
|
min_stand_duration = models.IntegerField(default=None, blank=True, null=True)
|
|
#Maximum autonomy of the kart in dry condition (In seconds)
|
|
max_autonomy_dry = models.IntegerField()
|
|
#Maximum autonomy of the kart in wet condition (In seconds)
|
|
max_autonomy_wet = models.IntegerField()
|
|
#Maximum driving time by driver(In seconds)
|
|
max_driving_duration = models.IntegerField(default=None, blank=True, null=True)
|
|
#Start and end date of the race
|
|
relay_default_duration = models.IntegerField(default=None, blank=True, null=True)
|
|
|
|
class Race(models.Model):
|
|
# Name of the race
|
|
name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
|
#Start and end date of the race
|
|
start_date = models.DateTimeField(default=None, blank=True, null=True)
|
|
end_date = models.DateTimeField(default=None, blank=True, null=True)
|
|
#Lenth of th race in seconds
|
|
duration = models.IntegerField()
|
|
#Link to the rules of the race
|
|
fk_rules = models.ForeignKey(Rules, on_delete=models.CASCADE)
|
|
#Comment the race
|
|
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class TeamPilot(models.Model):
|
|
# Foreign keys to the team pilot and race
|
|
team = models.ForeignKey(Team, on_delete=models.CASCADE)
|
|
pilot = models.ForeignKey(Driver, on_delete=models.CASCADE)
|
|
race = models.ForeignKey(Race, on_delete=models.CASCADE)
|
|
order = models.IntegerField(default=None, blank=True, null=True)
|
|
|
|
|
|
class Relay(models.Model):
|
|
# Name of the team
|
|
team_pilot = models.ForeignKey(TeamPilot, on_delete=models.CASCADE)
|
|
#Starting timestamp for the relay
|
|
relay_start = models.DateTimeField()
|
|
#ending timestamp for the relay
|
|
relay_end = models.DateTimeField(default=None, blank=True, null=True)
|
|
#Does the pilot did refuel
|
|
has_refuel = models.BooleanField(default=False)
|
|
#Average chrono for the pulot on this relay
|
|
pilot_chrono = models.IntegerField(default=None, blank=True, null=True)
|
|
#comment the relay
|
|
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
|