Browse Source

Opravy migraci. Potreba projit a opravit semantiku.

export_seznamu_prednasek
parent
commit
f89e696fe3
  1. 8
      seminar/migrations/0050_auto_20190510_2228.py
  2. 35
      seminar/migrations/0058_problem_to_uloha_tema_clanek.py
  3. 2
      seminar/migrations/0059_vytvorit_pohadkanode.py
  4. 12
      seminar/migrations/0060_spoj_stromy.py
  5. 8
      seminar/models.py

8
seminar/migrations/0050_auto_20190510_2228.py

@ -61,7 +61,7 @@ class Migration(migrations.Migration):
name='ClanekNode', name='ClanekNode',
fields=[ fields=[
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')), ('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
('clanek', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Clanek', verbose_name='článek')), ('clanek', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Clanek', verbose_name='článek')),
], ],
options={ options={
'verbose_name': 'Článek (Node)', 'verbose_name': 'Článek (Node)',
@ -74,7 +74,7 @@ class Migration(migrations.Migration):
name='KonferaNode', name='KonferaNode',
fields=[ fields=[
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')), ('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
('konfera', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Konfera', verbose_name='konfera')), ('konfera', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Konfera', verbose_name='konfera')),
], ],
options={ options={
'verbose_name': 'Konfera (Node)', 'verbose_name': 'Konfera (Node)',
@ -138,7 +138,7 @@ class Migration(migrations.Migration):
name='UlohaVzorakNode', name='UlohaVzorakNode',
fields=[ fields=[
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')), ('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
('uloha', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')), ('uloha', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')),
], ],
options={ options={
'verbose_name': 'Vzorák úlohy (Node)', 'verbose_name': 'Vzorák úlohy (Node)',
@ -151,7 +151,7 @@ class Migration(migrations.Migration):
name='UlohaZadaniNode', name='UlohaZadaniNode',
fields=[ fields=[
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')), ('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
('uloha', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')), ('uloha', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')),
], ],
options={ options={
'verbose_name': 'Zadání úlohy (Node)', 'verbose_name': 'Zadání úlohy (Node)',

35
seminar/migrations/0058_problem_to_uloha_tema_clanek.py

@ -43,7 +43,7 @@ def uloha_to_Uloha(apps,schema_editor):
ulohy = Problem.objects.filter(typ = 'uloha') ulohy = Problem.objects.filter(typ = 'uloha')
for uold in ulohy: for uold in ulohy:
unew = Uloha.objects.create( unew = Uloha.objects.create(
problem = uold, problem_ptr = uold,
# Zakomentované fieldy by se už měly nacházet v příslušném problému # Zakomentované fieldy by se už měly nacházet v příslušném problému
#nazev = uold.nazev, #nazev = uold.nazev,
#stav = uold.stav, #stav = uold.stav,
@ -84,17 +84,18 @@ def clanek_to_Clanek(apps,schema_editor):
clanky = Problem.objects.filter(Q(typ='org-clanek') | Q(typ='res-clanek')) clanky = Problem.objects.filter(Q(typ='org-clanek') | Q(typ='res-clanek'))
for cl in clanky: for cl in clanky:
# Vybereme vhodné číslo pro článek z čísla zadání a čísla řešení: # Vybereme vhodné číslo pro článek z čísla zadání a čísla řešení:
if cl.cislo_zadani is None: if cl.cislo_zadani_old is None:
cislo = cl.cislo_reseni cislo = cl.cislo_reseni_old
elif cl.cislo_reseni is None: elif cl.cislo_reseni_old is None:
cislo = cl.cislo_zadani cislo = cl.cislo_zadani_old
elif cl.cislo_reseni == cl.cislo_zadani: elif cl.cislo_reseni_old == cl.cislo_zadani_old:
cislo = cl.cislo_zadani cislo = cl.cislo_zadani_old
else: else:
raise ValueError("Různá čísla zadání a řešení u článku!") cislo = cl.cislo_zadani_old
#raise ValueError("Různá čísla zadání a řešení u článku!")
clnew = Clanek.objects.create( clnew = Clanek.objects.create(
problem = cl, problem_ptr = cl,
# Problém by nemělo být potřeba upravovat # Problém by nemělo být potřeba upravovat
cislo = cislo, cislo = cislo,
# Body ignorujeme, protože už jsou v hodnocení # Body ignorujeme, protože už jsou v hodnocení
@ -122,17 +123,19 @@ def tema_to_Tema(apps, schema_editor):
temata = Problem.objects.filter(Q(typ = 'tema') | Q(typ='serial')) temata = Problem.objects.filter(Q(typ = 'tema') | Q(typ='serial'))
for t in temata: for t in temata:
# Vymyslíme správně ročník: # Vymyslíme správně ročník:
if t.cislo_zadani is None: if t.cislo_zadani_old is None and t.cislo_reseni_old is None:
rocnik = t.cislo_reseni.rocnik rocnik = None
elif t.cislo_reseni is None: elif t.cislo_zadani_old is None:
rocnik = t.cislo_zadani.rocnik rocnik = t.cislo_reseni_old.rocnik
elif t.cislo_reseni.rocnik == t.cislo_zadani.rocnik: elif t.cislo_reseni_old is None:
rocnik = t.cislo_zadani.rocnik rocnik = t.cislo_zadani_old.rocnik
elif t.cislo_reseni_old.rocnik == t.cislo_zadani_old.rocnik:
rocnik = t.cislo_zadani_old.rocnik
else: else:
raise ValueError("Nelze mít téma přes více ročníků!") raise ValueError("Nelze mít téma přes více ročníků!")
tnew = Tema.objects.create( tnew = Tema.objects.create(
problem = t, problem_ptr = t,
tema_typ = t.typ, tema_typ = t.typ,
rocnik = rocnik, rocnik = rocnik,
) )

2
seminar/migrations/0059_vytvorit_pohadkanode.py

@ -15,7 +15,7 @@ def vytvor_pohadkanode(apps, schema_editor):
t.save() t.save()
tn = TextNode.objects.create(text = t) tn = TextNode.objects.create(text = t)
tn.save() tn.save()
pn = PohadkaNode.create(pohadka = p, first_child = tn) pn = PohadkaNode.objects.create(pohadka = p, first_child = tn)
pn.save() pn.save()
class Migration(migrations.Migration): class Migration(migrations.Migration):

12
seminar/migrations/0060_spoj_stromy.py

@ -53,13 +53,13 @@ def pokacej_les(apps, schema_editor):
cnode = c.cislonode cnode = c.cislonode
# Témata a seriály: # Témata a seriály:
relevantni_temata = Tema.objects.filter(Q(cislo_zadani = c) | Q(cislo_reseni = c)).order_by('kod') 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 # Téma dáme do prvního čísla, kde se vyskytne
for t in relevantni_temata: for t in relevantni_temata:
tnode = t.temavcislenode tnode = t.temavcislenode
if t.cislo_zadani and t.cislo_reseni: if t.cislo_zadani_old and t.cislo_reseni_old:
assert(t.cislo_zadani <= t.cislo_reseni) assert(t.cislo_zadani_old <= t.cislo_reseni_old)
if t.cislo_reseni == c: if t.cislo_reseni_old == c:
# Už by mělo být přidané do čísla zadání # Už by mělo být přidané do čísla zadání
continue continue
else: else:
@ -69,8 +69,8 @@ def pokacej_les(apps, schema_editor):
# Úložky (zadání) a pohádky # Úložky (zadání) a pohádky
for u in Uloha.objects.filter(cislo_zadani = c).order_by('kod'): for u in Uloha.objects.filter(cislo_zadani = c).order_by('kod'):
unode = u.ulohazadaninode unode = u.ulohazadaninode
pohadky_pred = Pohadka.objects.filter(uloha_old = u.problem, pred = True) pohadky_pred = Pohadka.objects.filter(uloha_old = u.problem_ptr, pred = True)
pohadky_po = Pohadka.objects.filter(uloha_old = u.problem, pred = False) pohadky_po = Pohadka.objects.filter(uloha_old = u.problem_ptr, pred = False)
for p in pohadky_pred: for p in pohadky_pred:
pnode = p.pohadkanode pnode = p.pohadkanode
pridej_potomka(cnode, pnode) pridej_potomka(cnode, pnode)

8
seminar/models.py

@ -1138,7 +1138,7 @@ class KonferaNode(TreeNode):
db_table = 'seminar_nodes_konfera' db_table = 'seminar_nodes_konfera'
verbose_name = 'Konfera (Node)' verbose_name = 'Konfera (Node)'
verbose_name_plural = 'Konfery (Node)' verbose_name_plural = 'Konfery (Node)'
konfera = models.ForeignKey(Konfera, konfera = models.OneToOneField(Konfera,
on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně
verbose_name = "konfera", verbose_name = "konfera",
null=True, null=True,
@ -1149,7 +1149,7 @@ class ClanekNode(TreeNode):
db_table = 'seminar_nodes_clanek' db_table = 'seminar_nodes_clanek'
verbose_name = 'Článek (Node)' verbose_name = 'Článek (Node)'
verbose_name_plural = 'Články (Node)' verbose_name_plural = 'Články (Node)'
clanek = models.ForeignKey(Clanek, clanek = models.OneToOneField(Clanek,
on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně
verbose_name = "článek", verbose_name = "článek",
null=True, null=True,
@ -1160,7 +1160,7 @@ class UlohaZadaniNode(TreeNode):
db_table = 'seminar_nodes_uloha_zadani' db_table = 'seminar_nodes_uloha_zadani'
verbose_name = 'Zadání úlohy (Node)' verbose_name = 'Zadání úlohy (Node)'
verbose_name_plural = 'Zadání úloh (Node)' verbose_name_plural = 'Zadání úloh (Node)'
uloha = models.ForeignKey(Uloha, uloha = models.OneToOneField(Uloha,
on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně
verbose_name = "úloha", verbose_name = "úloha",
null=True, null=True,
@ -1181,7 +1181,7 @@ class UlohaVzorakNode(TreeNode):
db_table = 'seminar_nodes_uloha_vzorak' db_table = 'seminar_nodes_uloha_vzorak'
verbose_name = 'Vzorák úlohy (Node)' verbose_name = 'Vzorák úlohy (Node)'
verbose_name_plural = 'Vzoráky úloh (Node)' verbose_name_plural = 'Vzoráky úloh (Node)'
uloha = models.ForeignKey(Uloha, uloha = models.OneToOneField(Uloha,
on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně on_delete=models.PROTECT, # Pokud chci mazat téma, musím si Node pořešit ručně
verbose_name = "úloha", verbose_name = "úloha",
null=True, null=True,

Loading…
Cancel
Save