diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-09 23:08:51 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-09 23:08:51 +0100 |
commit | c2d86b659a9ad00b1e2cb0485e1310504c8fd03c (patch) | |
tree | d95d1ca9e9971b465f235cbb86091cd2cf3c7325 /scripts/2017-03-08-importer-basefind-to-find.py | |
parent | 1c381564ea9ed133f73e0b330468b204e7a034f1 (diff) | |
parent | 53f0a5c95c34c0db67528422583dc3e90f20f705 (diff) | |
download | Ishtar-c2d86b659a9ad00b1e2cb0485e1310504c8fd03c.tar.bz2 Ishtar-c2d86b659a9ad00b1e2cb0485e1310504c8fd03c.zip |
Merge branch 'master' into v0.9
Diffstat (limited to 'scripts/2017-03-08-importer-basefind-to-find.py')
-rw-r--r-- | scripts/2017-03-08-importer-basefind-to-find.py | 35 |
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) |