summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/2017-03-08-importer-basefind-to-find.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/2017-03-08-importer-basefind-to-find.py b/scripts/2017-03-08-importer-basefind-to-find.py
new file mode 100644
index 000000000..fa5da9855
--- /dev/null
+++ b/scripts/2017-03-08-importer-basefind-to-find.py
@@ -0,0 +1,35 @@
+from ishtar_common import models
+
+
+def convert_field(field_name):
+ if field_name.startswith('find__'):
+ field_name = field_name[len('find__'):]
+ else:
+ field_name = "base_finds__" + field_name
+ return field_name
+
+
+def refac_types(types):
+ find_model, created = models.ImporterModel.objects.get_or_create(
+ klass='archaeological_finds.models_finds.Find',
+ defaults={'name': 'Find'}
+ )
+ for tpe in types:
+ for col in tpe.columns.all():
+ for field in col.duplicate_fields.all():
+ new_field_name = convert_field(field.field_name)
+ field.field_name = new_field_name
+ field.save()
+ for field in col.targets.all():
+ new_field_name = convert_field(field.target)
+ field.target = new_field_name
+ field.save()
+ tpe.associated_models = find_model
+ tpe.save()
+
+
+types = list(models.ImporterType.objects.filter(
+ associated_models=models.ImporterModel.objects.get(
+ klass='archaeological_finds.models.BaseFind')).all())
+
+refac_types(types)