diff options
Diffstat (limited to 'ishtar_common/utils_migrations.py')
-rw-r--r-- | ishtar_common/utils_migrations.py | 21 |
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 |