Browse Source

Oprava migr 0060

- Tema.temavcislenode je reverse FK, ne one-to-one
- Cisla nejde porovnavat
- TvCN maji byt ve stromu.
middleware_test
Pavel Turinsky (DebianVM @ Zr) 3 years ago
parent
commit
4186c4b819
  1. 14
      seminar/migrations/0060_spoj_stromy.py

14
seminar/migrations/0060_spoj_stromy.py

@ -56,15 +56,19 @@ def pokacej_les(apps, schema_editor):
relevantni_temata = Tema.objects.filter(Q(cislo_zadani_old = c) | Q(cislo_reseni_old = c)).order_by('kod')
# Téma dáme do prvního čísla, kde se vyskytne
for t in relevantni_temata:
tnode = t.temavcislenode
tnodes = t.temavcislenode_set.all()
# Migrujeme, TvCN je jen jedno dohromady
assert(len(tnodes) == 1)
tnode = tnodes[0]
# Zkontrolujeme a preskocime cislo_reseni
if t.cislo_zadani_old and t.cislo_reseni_old:
assert(t.cislo_zadani_old <= t.cislo_reseni_old)
assert(t.cislo_zadani_old.rocnik == t.cislo_reseni_old.rocnik
and t.cislo_zadani_old.cislo <= t.cislo_reseni_old.cislo)
if t.cislo_reseni_old == c:
# Už by mělo být přidané do čísla zadání
continue
else:
# Patří sem (buď je to jediné číslo, nebo je to číslo zadání)
pridej_potomka(cnode, tnode)
# Patří sem (buď je to jediné číslo, nebo je to číslo zadání)
pridej_potomka(cnode, tnode)
# Úložky (zadání) a pohádky
for u in Uloha.objects.filter(cislo_zadani = c).order_by('kod'):

Loading…
Cancel
Save