More initial sketching

This commit is contained in:
2021-02-14 11:49:49 +00:00
parent 4281941814
commit 5874c5299b
8 changed files with 91 additions and 11 deletions

View File

@@ -1,3 +1,8 @@
from django.contrib import admin
# Register your models here.
from vehicles.models import Make, Model, Status, Vehicle
admin.site.register(Make)
admin.site.register(Model)
admin.site.register(Status)
admin.site.register(Vehicle)

View File

@@ -4,23 +4,45 @@ from django.db import models
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)
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)
engine_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()

View File

@@ -0,0 +1,5 @@
{% extends 'base.html' %}
{% block content %}
<h1 class="text-2xl">Vehicle {{ object }}</h1>
{% endblock %}

View File

@@ -1,5 +1,37 @@
{% extends 'base.html' %}
{% block content %}
Test!
<h1 class="text-2xl">All Vehicles</h1>
<table class="table-auto border">
<thead>
<th class="p-2">Name</th>
<th class="p-2">Make & Model</th>
<th class="p-2">Registration</th>
<th class="p-2">Owner</th>
<th class="p-2">Status</th>
<th class="p-2">VIN Number</th>
<th class="p-2">Engine Number</th>
<th class="p-2">Chassis Number</th>
<th></th>
</thead>
<tbody>
{% for object in object_list %}
<tr>
<th scope="row" class="p-2">{{ object.name }}</th>
<td class="p-2">{{ object.model }}</td>
<td class="bg-yellow-400 text-black font-black rounded text-xl px-2">{{ object.reg_number|slice:"4:" }} {{ object.reg_number|slice:":3" }}</td>
<td class="p-2">{{ object.owner|default:"God" }}</td>
<td class="p-2">{{ object.status }}</td>
<td class="p-2">{{ object.vin_number|default:"Unknown" }}</td>
<td class="p-2">{{ object.engine_number|default:"Unknown" }}</td>
<td class="p-2">{{ object.chassis_number|default:"Unknown" }}</td>
<td>{% url 'vehicle_detail' object.pk %}</td>
</tr>
{% empty %}
<tr class="bg-yellow-400">
<td span="10">Nothing found!</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

View File

@@ -1,7 +1,8 @@
from django.urls import path
from .views import VehicleList
from . import views
urlpatterns = [
path('list/', VehicleList.as_view(), name='vehicle_list')
path('list/', views.VehicleList.as_view(), name='vehicle_list'),
path('<int:pk>/', views.VehicleDetail.as_view(), name='vehicle_detail')
]

View File

@@ -1,9 +1,14 @@
from django.shortcuts import render
from django.views.generic.list import ListView
from django.views import generic
from .models import Vehicle
class VehicleList(ListView):
class VehicleList(generic.ListView):
template_name = 'vehicle_list.html'
model = Vehicle
class VehicleDetail(generic.DetailView):
template_name = 'vehicle_detail.html'
model = Vehicle