diff --git a/seminar/migrations/0059_vytvorit_pohadkanode.py b/seminar/migrations/0059_vytvorit_pohadkanode.py index 3e62c220..56f3c1d8 100644 --- a/seminar/migrations/0059_vytvorit_pohadkanode.py +++ b/seminar/migrations/0059_vytvorit_pohadkanode.py @@ -4,12 +4,19 @@ from __future__ import unicode_literals from django.db import migrations -def oprav_pohadku(apps, schema_editor): +def vytvor_pohadkanode(apps, schema_editor): Pohadka = apps.get_model('seminar', 'Pohadka') + PohadkaNode = apps.get_model('seminar', 'PohadkaNode') + Text = apps.get_model('seminar', 'Text') + TextNode = apps.get_model('seminar', 'TextNode') for p in Pohadka.objects.all(): - if p.uloha_old: - p.uloha = p.uloha_old.uloha # Pokud to nebyla úloha, vyhodí Uloha.DoesNotExists výjimku. + t = Text.objects.create(na_web = p.text) + t.save() + tn = TextNode.objects.create(text = t) + tn.save() + pn = PohadkaNode.create(pohadka = p, first_child = tn) + pn.save() class Migration(migrations.Migration): @@ -18,5 +25,5 @@ class Migration(migrations.Migration): ] operations = [ - migrations.RunPython(oprav_pohadku), + migrations.RunPython(vytvor_pohadkanode), ] diff --git a/seminar/migrations/0060_spoj_stromy.py b/seminar/migrations/0060_spoj_stromy.py index 0c251aa8..e71ce6ad 100644 --- a/seminar/migrations/0060_spoj_stromy.py +++ b/seminar/migrations/0060_spoj_stromy.py @@ -72,16 +72,16 @@ def pokacej_les(apps, schema_editor): pohadky_pred = Pohadka.objects.filter(uloha_old = u.problem, pred = True) pohadky_po = Pohadka.objects.filter(uloha_old = u.problem, pred = False) for p in pohadky_pred: - # FIXME: Chceme pohádku do stromu? - print('!!! !!! !!! !!! !!!') - print('FIXME: Jak uložit pohádku??') - print('!!! !!! !!! !!! !!!') + pnode = p.pohadkanode + pridej_potomka(cnode, pnode) pridej_potomka(cnode, unode) for p in pohadky_po: - # FIXME: Chceme pohádku do stromu? - print('!!! !!! !!! !!! !!!') - print('FIXME: Jak uložit pohádku??') - print('!!! !!! !!! !!! !!!') + pnode = p.pohadkanode + pridej_potomka(cnode, pnode) + + # Pohádky, které nejsou u úlohy jsou špatně: + if Pohadka.objects.exclude(uloha_old__typ='uloha').count(): + raise ValueError("Existuje pohádka, která není u úlohy") # Články for cl in Clanek.objects.filter(cislo = c).order_by('kod'):