summaryrefslogtreecommitdiff
path: root/ishtar_common/migrations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-02 10:34:44 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-02 10:34:44 +0200
commit2c721d268fa474f2efe838b6ec111bae1b64e20b (patch)
tree23acef6b9173b44167c19f643ec58ff8a12f0cac /ishtar_common/migrations
parent5eb8667794636e379a8c324da46c617ad365747a (diff)
downloadIshtar-2c721d268fa474f2efe838b6ec111bae1b64e20b.tar.bz2
Ishtar-2c721d268fa474f2efe838b6ec111bae1b64e20b.zip
Fix migration generate_title for strange databases
Diffstat (limited to 'ishtar_common/migrations')
-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()