blob: fa5da985534ee5812a34b7da04131c0c4b400498 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)
|