mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Several changes to models
Add __str__ methods with unicode compatibility. Make trainer fields optional as they should be. Include these migrations and apply to DB. Install some test data in the DB.
This commit is contained in:
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
30
training/migrations/0002_required_fields.py
Normal file
30
training/migrations/0002_required_fields.py
Normal file
@@ -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),
|
||||
),
|
||||
]
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user