diff --git a/db.sqlite3 b/db.sqlite3 index 312d4040..ab240dff 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/training/migrations/0002_required_fields.py b/training/migrations/0002_required_fields.py new file mode 100644 index 00000000..f7130751 --- /dev/null +++ b/training/migrations/0002_required_fields.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + ('training', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='trainingrecord', + name='assessed_trainer', + field=models.ForeignKey(related_name='trainingrecords_assessed', blank=True, to=settings.AUTH_USER_MODEL, null=True), + ), + migrations.AlterField( + model_name='trainingrecord', + name='completed_trainer', + field=models.ForeignKey(related_name='trainingrecords_completed', blank=True, to=settings.AUTH_USER_MODEL, null=True), + ), + migrations.AlterField( + model_name='trainingrecord', + name='started_trainer', + field=models.ForeignKey(related_name='trainingrecords_started', blank=True, to=settings.AUTH_USER_MODEL, null=True), + ), + ] diff --git a/training/models.py b/training/models.py index afc2c608..e89f7449 100644 --- a/training/models.py +++ b/training/models.py @@ -1,16 +1,22 @@ from django.db import models from django.conf import settings +from django.utils.encoding import python_2_unicode_compatible import reversion # Create your models here. +@python_2_unicode_compatible @reversion.register class TrainingCategory(models.Model): category_number = models.PositiveSmallIntegerField() category_name = models.CharField(max_length=50) + def __str__(self): + return "{0}: {1}".format(self.category_number, self.category_name) + +@python_2_unicode_compatible @reversion.register class TrainingItem(models.Model): category = models.ForeignKey(TrainingCategory) @@ -19,26 +25,34 @@ class TrainingItem(models.Model): training_records = models.ManyToManyField(settings.AUTH_USER_MODEL, through='TrainingRecord', through_fields=('training_item', 'trainee')) + def __str__(self): + return "{0}.{1}: {2}".format(self.category.category_number, self.item_number, self.item_name) + +@python_2_unicode_compatible @reversion.register class TrainingRecord(models.Model): trainee = models.ForeignKey(settings.AUTH_USER_MODEL) training_item = models.ForeignKey(TrainingItem) started_date = models.DateField(blank=True, null=True) - started_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_started') + started_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_started', blank=True, null=True) started_notes = models.TextField(blank=True, null=True) completed_date = models.DateField(blank=True, null=True) - completed_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_completed') + completed_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_completed', blank=True, null=True) completed_notes = models.TextField(blank=True, null=True) assessed_date = models.DateField(blank=True, null=True) - assessed_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_assessed') + assessed_trainer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='trainingrecords_assessed', blank=True, null=True) assessed_notes = models.TextField(blank=True, null=True) + def __str__(self): + return "{0} - {1}".format(self.trainee, self.training_item) + class Meta: unique_together = ('trainee', 'training_item') +@python_2_unicode_compatible @reversion.register class TrainingLevelRecord(models.Model): trainee = models.ForeignKey(settings.AUTH_USER_MODEL) @@ -55,3 +69,6 @@ class TrainingLevelRecord(models.Model): power_supervisor = models.DateField(blank=True, null=True) haulage_supervisor = models.DateField(blank=True, null=True) + + def __str__(self): + return "{0}".format(self.trainee)