From eae7df1ec28271ec372d59a347855af82850b071 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 8 Mar 2017 22:29:17 +0100 Subject: Script: translate importer basefind to find --- scripts/2017-03-08-importer-basefind-to-find.py | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 scripts/2017-03-08-importer-basefind-to-find.py (limited to 'scripts') 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) -- cgit v1.2.3