summaryrefslogtreecommitdiff
path: root/ishtar_common/utils_migrations.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/utils_migrations.py')
-rw-r--r--ishtar_common/utils_migrations.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py
index 5654a8897..6d75ff885 100644
--- a/ishtar_common/utils_migrations.py
+++ b/ishtar_common/utils_migrations.py
@@ -212,3 +212,24 @@ def migrate_created_field(apps, app_name, model_names):
continue
history_date = q.all()[0].history_date
item.__class__.objects.filter(pk=item.pk).update(created=history_date)
+
+
+def update_import_key(geovectordata): # 0267_gis_import_key
+ if geovectordata.import_key or not geovectordata.data_type:
+ return
+ GeoVectorData = geovectordata.__class__
+ # by default set import key to data type
+ base_import_key = import_key = geovectordata.data_type.txt_idx
+ base_q = GeoVectorData.objects.filter(
+ source_content_type_id=geovectordata.source_content_type_id,
+ source_id=geovectordata.source_id
+ )
+ idx = 0
+ q = base_q.filter(import_key=import_key)
+ while q.count():
+ idx += 1
+ import_key = f"{base_import_key}-{idx}"
+ q = base_q.filter(import_key=import_key)
+ GeoVectorData.objects.filter(pk=geovectordata.id).update(
+ import_key=import_key)
+ return True