diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-20 11:46:57 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-20 11:46:57 +0100 |
commit | af04b1ecfc22f8c104f6f960c26086c4284e9777 (patch) | |
tree | 5232bf428003effb1dcad3b23c3d49a976c39894 /archaeological_warehouse/migrations | |
parent | 931092752a4db520becea7815e0d1e205b0a921e (diff) | |
download | Ishtar-af04b1ecfc22f8c104f6f960c26086c4284e9777.tar.bz2 Ishtar-af04b1ecfc22f8c104f6f960c26086c4284e9777.zip |
Warehouse: new slug field to prevent ID change when name is changed
Diffstat (limited to 'archaeological_warehouse/migrations')
-rw-r--r-- | archaeological_warehouse/migrations/0115_auto_20230120_1133.py (renamed from archaeological_warehouse/migrations/0115_auto_20230119_1911.py) | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py index cf678f2c2..8462d4bb8 100644 --- a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py +++ b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py @@ -1,9 +1,25 @@ -# Generated by Django 2.2.24 on 2023-01-19 19:11 +# Generated by Django 2.2.24 on 2023-01-20 11:33 from django.db import migrations, models import django.db.models.deletion +def copy_external_id_to_slug(apps, schema): + Warehouse = apps.get_model("archaeological_warehouse", "Warehouse") + for w in Warehouse.objects.all(): + w.skip_history_when_saving = True + w.slug = w.external_id + w.save() + + +def update_profile(apps, schema): + IshtarSiteProfile = apps.get_model("ishtar_common", "IshtarSiteProfile") + for p in IshtarSiteProfile.objects.filter( + warehouse_external_id="{name|slug}").all(): + p.warehouse_external_id = "{slug}" + p.save() + + class Migration(migrations.Migration): dependencies = [ @@ -17,10 +33,20 @@ class Migration(migrations.Migration): field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'), ), migrations.AddField( + model_name='historicalwarehouse', + name='slug', + field=models.SlugField(blank=True, default='', max_length=200, verbose_name='Textual ID'), + ), + migrations.AddField( model_name='warehouse', name='cached_town_label', field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'), ), + migrations.AddField( + model_name='warehouse', + name='slug', + field=models.SlugField(blank=True, default='', max_length=200, verbose_name='Textual ID'), + ), migrations.AlterField( model_name='container', name='geodata', @@ -46,4 +72,6 @@ class Migration(migrations.Migration): name='main_geodata', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'), ), + migrations.RunPython(copy_external_id_to_slug), + migrations.RunPython(update_profile), ] |