Migrate and remove Referent model
This commit is contained in:
parent
5d1afb77ee
commit
aaf29ee225
6 changed files with 56 additions and 32 deletions
31
stages/migrations/0017_migrate_referents.py
Normal file
31
stages/migrations/0017_migrate_referents.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
from django.db import migrations
|
||||
|
||||
|
||||
def migrate_referents(apps, schema_editor):
|
||||
Teacher = apps.get_model("stages", "Teacher")
|
||||
Training = apps.get_model("stages", "Training")
|
||||
errors = False
|
||||
for tr in Training.objects.filter(referent_old__isnull=False):
|
||||
if tr.referent_old.last_name == 'Liechti Held':
|
||||
last_name = 'Liechti'
|
||||
elif tr.referent_old.last_name == 'Haldimann Luethi':
|
||||
last_name = 'Haldimann'
|
||||
elif tr.referent_old.last_name == 'Kummer':
|
||||
last_name = 'Kummer-Invernizzi'
|
||||
else:
|
||||
last_name = tr.referent_old.last_name
|
||||
try:
|
||||
tr.referent = Teacher.objects.get(first_name=tr.referent_old.first_name.strip(), last_name=last_name)
|
||||
except Teacher.DoesNotExist:
|
||||
print("Unable to find referent %s in teachers" % " ".join([tr.referent_old.first_name, tr.referent_old.last_name]))
|
||||
else:
|
||||
tr.save()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('stages', '0016_referent_to_teacher'),
|
||||
]
|
||||
|
||||
operations = [migrations.RunPython(migrate_referents, migrations.RunPython.noop),]
|
||||
18
stages/migrations/0018_removed_referent_model.py
Normal file
18
stages/migrations/0018_removed_referent_model.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('stages', '0017_migrate_referents'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='training',
|
||||
name='referent_old',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Referent',
|
||||
),
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue