From 356815ca62748ac690c471d7f5f321fc38a589fe Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Sat, 28 Mar 2020 22:57:09 +0100 Subject: [PATCH] Add data migration --- .../migrations/0017_use_complex_name_field.py | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/aleksis/core/migrations/0017_use_complex_name_field.py b/aleksis/core/migrations/0017_use_complex_name_field.py index 2139a68b7..b29b9b6c6 100644 --- a/aleksis/core/migrations/0017_use_complex_name_field.py +++ b/aleksis/core/migrations/0017_use_complex_name_field.py @@ -2,6 +2,14 @@ from django.db import migrations, models +def rewrite_names(apps, schema_editor) + db_alias = schema_editor.connection.alias + + Person = apps.get_model("core", "Person") + + Person.objects.using(db_alias).update( + first=models.F("first_name"), middle=models.F("additional_name"), last=models.F("last_name") + ) class Migration(migrations.Migration): @@ -14,18 +22,6 @@ class Migration(migrations.Migration): name='person', options={'ordering': ['first', 'last'], 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'}, ), - migrations.RemoveField( - model_name='person', - name='additional_name', - ), - migrations.RemoveField( - model_name='person', - name='first_name', - ), - migrations.RemoveField( - model_name='person', - name='last_name', - ), migrations.AddField( model_name='person', name='first', @@ -62,14 +58,19 @@ class Migration(migrations.Migration): name='title', field=models.CharField(blank=True, max_length=100, verbose_name='Title'), ), - migrations.AlterField( - model_name='notification', - name='sender', - field=models.CharField(max_length=100, verbose_name='Sender'), + migrations.RunPython( + rewrite_names + ), + migrations.RemoveField( + model_name='person', + name='additional_name', + ), + migrations.RemoveField( + model_name='person', + name='first_name', ), - migrations.AlterField( - model_name='notification', - name='sent', - field=models.BooleanField(default=False, verbose_name='Sent'), + migrations.RemoveField( + model_name='person', + name='last_name', ), ] -- GitLab