From 227b63e68975244e41eac6274020cafd6b3e0dac Mon Sep 17 00:00:00 2001 From: Tom Price Date: Wed, 21 Oct 2015 16:59:17 +0100 Subject: [PATCH] Add a sensible data structure. This is sensible to the current structure but there are a few changes. These were done to maintain the same functionality, but to reduce the number of DB rows used. --- training/models.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/training/models.py b/training/models.py index 71a83623..306e2aad 100644 --- a/training/models.py +++ b/training/models.py @@ -1,3 +1,51 @@ from django.db import models +from django.conf import settings +import reversion # Create your models here. + + +@reversion.register +class TrainingCategory(models.Model): + category_number = models.PositiveSmallIntegerField() + category_name = models.CharField(max_length=50) + + +@reversion.register +class TrainingItem(models.Model): + category = models.ForeignKey(TrainingCategory) + item_number = models.PositiveSmallIntegerField() + item_name = models.CharField(max_length=100) + training_records = models.ManyToManyField(settings.AUTH_USER_MODEL, + through_fields='finance.TrainingRecord') + + +@reversion.register +class TrainingRecord(models.Model): + started_date = models.DateField(blank=True, null=True) + started_user = models.ForeignKey(settings.AUTH_USER_MODEL) + started_notes = models.TextField(blank=True, null=True) + completed_date = models.DateField(blank=True, null=True) + completed_user = models.ForeignKey(settings.AUTH_USER_MODEL) + completed_notes = models.TextField(blank=True, null=True) + assessed_date = models.DateField(blank=True, null=True) + assessed_user = models.ForeignKey(settings.AUTH_USER_MODEL) + assessed_notes = models.TextField(blank=True, null=True) + + +@reversion.register +class TrainingLevelRecord(models.Model): + user = models.ForeignKey(settings.AUTH_USER_MODEL) + + technical_assistant = models.DateField(blank=True, null=True) + + sound_technician = models.DateField(blank=True, null=True) + sound_supervisor = models.DateField(blank=True, null=True) + + lighting_technician = models.DateField(blank=True, null=True) + lighting_supervisor = models.DateField(blank=True, null=True) + + power_technician = models.DateField(blank=True, null=True) + power_supervisor = models.DateField(blank=True, null=True) + + haulage_supervisor = models.DateField(blank=True, null=True)