# -*- 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) comment = models.CharField(max_length=256, 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 EngagedPilot(models.Model): # Foreign keys to the team pilot and race team = models.ForeignKey(Team, related_name='team', on_delete=models.CASCADE) pilot = models.ForeignKey(Driver, related_name='pilot', on_delete=models.CASCADE) race = models.ForeignKey(Race, related_name='engagedpilots', 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(EngagedPilot, related_name='relays', 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)