summaryrefslogtreecommitdiff
path: root/ishtar_common/migrations/0058_generate_title.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/migrations/0058_generate_title.py')
-rw-r--r--ishtar_common/migrations/0058_generate_title.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/ishtar_common/migrations/0058_generate_title.py b/ishtar_common/migrations/0058_generate_title.py
index ac0d1d602..3fcb82ee5 100644
--- a/ishtar_common/migrations/0058_generate_title.py
+++ b/ishtar_common/migrations/0058_generate_title.py
@@ -21,12 +21,25 @@ class Migration(SchemaMigration):
translation.activate('fr')
for key, lbl in TYPE:
lbl = translation.ugettext(lbl)
- keys[key] = orm['ishtar_common.TitleType'].objects.create(
- label=lbl, txt_idx=key.lower())
+ q = orm['ishtar_common.TitleType'].objects.filter(
+ txt_idx=key.lower())
+ if not q.count():
+ keys[key] = orm['ishtar_common.TitleType'].objects.create(
+ label=lbl, txt_idx=key.lower())
+ else:
+ keys[key] = q.all()[0]
translation.deactivate()
+ # translated are also keys
+ for k in keys.keys():
+ item = keys[k]
+ keys[item.label] = item
for person in orm['ishtar_common.Person'].objects.all():
if not person.old_title:
continue
+ if person.old_title not in keys:
+ print(u"For person {} ({} {}) no translation of {}.".format(
+ person.pk, person.name, person.surname, person.old_title))
+ continue
person.title_id = keys[person.old_title].id
person.save()