First commit of the V2.
New base, new info.
This commit is contained in:
@ -1,73 +1,55 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
|
||||
class Team(models.Model):
|
||||
|
||||
class Kart(models.Model):
|
||||
# Name of the team
|
||||
name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
||||
autonomy = models.IntegerField()
|
||||
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
|
||||
kart = models.ForeignKey(Kart, related_name='drivers', on_delete=models.CASCADE)
|
||||
short_name = models.CharField(max_length=10, default=None, blank=True, null=True)
|
||||
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)
|
||||
last_name = models.CharField(max_length=30, default=None, blank=True, null=True)
|
||||
order = models.IntegerField()
|
||||
ref_time = models.IntegerField()
|
||||
|
||||
class Meta:
|
||||
ordering = ['order']
|
||||
|
||||
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)
|
||||
return '%d: %s' % (self.first_name, self.last_name)
|
||||
|
||||
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 Params(models.Model):
|
||||
# Name of the pilot
|
||||
autonomy = models.IntegerField()
|
||||
default_relay = models.IntegerField()
|
||||
stand_minimum_time = models.IntegerField()
|
||||
|
||||
|
||||
class Relay(models.Model):
|
||||
# Name of the team
|
||||
team_pilot = models.ForeignKey(EngagedPilot, related_name='relays', on_delete=models.CASCADE)
|
||||
# Fk driver
|
||||
driver = models.ForeignKey(Driver, on_delete=models.CASCADE)
|
||||
# Fk kart
|
||||
kart = models.ForeignKey(Kart, 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
|
||||
#Does the previous pilot 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)
|
||||
driver_chrono = models.IntegerField(default=None, blank=True, null=True)
|
||||
#ending timestamp for the relay
|
||||
relay_autonomy = models.IntegerField(default=None, blank=True, null=True)
|
||||
#comment the relay
|
||||
comment = models.CharField(max_length=256, default=None, blank=True, null=True)
|
||||
|
||||
|
Reference in New Issue
Block a user