Create some initial models

This commit is contained in:
2021-02-03 23:18:31 +00:00
parent ac81466985
commit 4281941814
15 changed files with 119 additions and 18 deletions

0
vehicles/__init__.py Normal file
View File

3
vehicles/admin.py Normal file
View File

@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
vehicles/apps.py Normal file
View File

@@ -0,0 +1,5 @@
from django.apps import AppConfig
class VehiclesConfig(AppConfig):
name = 'vehicles'

View File

@@ -0,0 +1,53 @@
# Generated by Django 3.1.6 on 2021-02-03 23:18
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Make',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=80)),
],
),
migrations.CreateModel(
name='Model',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=80)),
('make', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.make')),
],
),
migrations.CreateModel(
name='Status',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=80)),
],
),
migrations.CreateModel(
name='Vehicle',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50)),
('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)),
('model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.model')),
('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('status', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.status')),
],
),
]

View File

26
vehicles/models.py Normal file
View File

@@ -0,0 +1,26 @@
from django.db import models
class Status(models.Model):
name = models.CharField(max_length=80)
class Make(models.Model):
name = models.CharField(max_length=80)
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)
class Vehicle(models.Model):
name = models.CharField(max_length=50)
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)

View File

@@ -0,0 +1,5 @@
{% extends 'base.html' %}
{% block content %}
Test!
{% endblock %}

3
vehicles/tests.py Normal file
View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

7
vehicles/urls.py Normal file
View File

@@ -0,0 +1,7 @@
from django.urls import path
from .views import VehicleList
urlpatterns = [
path('list/', VehicleList.as_view(), name='vehicle_list')
]

9
vehicles/views.py Normal file
View File

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