52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
from django.db import models
|
|
|
|
from reversion import revisions as reversion
|
|
|
|
|
|
class Status(models.Model):
|
|
name = models.CharField(max_length=80)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class Make(models.Model):
|
|
name = models.CharField(max_length=80)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class Model(models.Model): # Cause that won't be a confusing name at all
|
|
name = models.CharField(max_length=80)
|
|
make = models.ForeignKey('Make', on_delete=models.CASCADE)
|
|
|
|
def __str__(self):
|
|
return "{} {}".format(self.make.name, self.name)
|
|
|
|
|
|
@reversion.register
|
|
class Vehicle(models.Model):
|
|
name = models.CharField(max_length=50)
|
|
# color
|
|
|
|
yom = models.DateField()
|
|
first_registered = models.DateField()
|
|
date_purchased = models.DateField()
|
|
|
|
reg_number = models.CharField(max_length=7)
|
|
vin_number = models.CharField(max_length=50)
|
|
chassis_number = models.CharField(max_length=50)
|
|
|
|
status = models.ForeignKey('Status', on_delete=models.CASCADE)
|
|
owner = models.ForeignKey('users.CustomUser', blank=True, null=True, on_delete=models.CASCADE)
|
|
model = models.ForeignKey('Model', on_delete=models.CASCADE)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class ICEVehicle(Vehicle):
|
|
engine_number = models.CharField(max_length=50)
|
|
capacity = models.IntegerField()
|