48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Generated by Django 1.11.20 on 2019-05-23 21:54
|
||
|
from __future__ import unicode_literals
|
||
|
|
||
|
from django.db import migrations
|
||
|
|
||
|
def generuj_RocnikNody_a_CisloNody(apps,schema_editor):
|
||
|
Rocnik = apps.get_model('seminar', 'Rocnik')
|
||
|
RocnikNode = apps.get_model('seminar', 'RocnikNode')
|
||
|
Cislo = apps.get_model('seminar', 'Cislo')
|
||
|
CisloNode = apps.get_model('seminar', 'CisloNode')
|
||
|
|
||
|
last_rn = None # last_* slouží k navázání následníků
|
||
|
for r in Rocnik.objects.all():
|
||
|
rn = RocnikNode.objects.create(rocnik=r)
|
||
|
rn.save()
|
||
|
rn.root = rn
|
||
|
rn.save()
|
||
|
if last_rn:
|
||
|
last_rn.succ = rn
|
||
|
last_rn.save()
|
||
|
last_rn = rn
|
||
|
|
||
|
last_cn = None
|
||
|
for c in Cislo.objects.filter(rocnik=r):
|
||
|
cn = CisloNode.objects.create(cislo=c, root=rn)
|
||
|
cn.save()
|
||
|
if last_cn: # Jsme něčí následník
|
||
|
last_cn.succ = cn
|
||
|
last_cn.save()
|
||
|
else: # Jsme první v řadě, takže se musíme přidat jako first_child RočníkNodu
|
||
|
rn.first_child = cn
|
||
|
rn.save()
|
||
|
last_cn = cn
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
dependencies = [
|
||
|
('seminar', '0055_smazat_nemigrovane_zastarale_veci'),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.RunPython(generuj_RocnikNody_a_CisloNody),
|
||
|
]
|