# Generated by Django 2.2.5 on 2019-09-26 19:35 from django.db import migrations, models # Migrace nejspíš neumí volat metody modelů: # https://stackoverflow.com/questions/28777338/django-migrations-runpython-not-able-to-call-model-methods#37685925 def fix_RocnikNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'RocnikNode') for obj in Objects.objects.all(): obj.nazev = str(obj.rocnik)+" (RocnikNode)" obj.save() def fix_CisloNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'CisloNode') for obj in Objects.objects.all(): obj.nazev = str(obj.cislo)+" (CisloNode)" obj.save() def fix_MezicisloNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'MezicisloNode') for obj in Objects.objects.all(): if obj.prev: if (obj.prev.get_real_instance_class() != CisloNode and obj.prev.get_real_instance_class() != MezicisloNode): raise ValueError("Předchůdce není číslo!") posledni = obj.prev.cislo obj.nazev = "Mezičíslo po čísle"+str(posledni)+" (MezicisloNode)" elif obj.root: if obj.root.get_real_instance_class() != RocnikNode: raise ValueError("Kořen stromu není ročník!") rocnik = obj.root.rocnik obj.nazev = "První mezičíslo ročníku "+" (MezicisloNode)" else: print("!!!!! Nějaké neidentifikované mezičíslo !!!!!") obj.nazev = "Neidentifikovatelné mezičíslo! (MezicisloNode)" obj.save() def fix_TemaVCisleNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'TemaVCisleNode') for obj in Objects.objects.all(): obj.nazev = str(obj.tema)+" (TemaVCisleNode)" obj.save() def fix_KonferaNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'KonferaNode') for obj in Objects.objects.all(): obj.nazev = str(obj.konfera)+" (KonferaNode)" obj.save() def fix_ClanekNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'ClanekNode') for obj in Objects.objects.all(): obj.nazev = str(obj.clanek)+" (ClanekNode)" obj.save() def fix_UlohaZadaniNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'UlohaZadaniNode') for obj in Objects.objects.all(): obj.nazev = str(obj.uloha)+" (UlohaZadaniNode)" obj.save() def fix_PohadkaNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'PohadkaNode') for obj in Objects.objects.all(): obj.nazev = str(obj.pohadka)+" (PohadkaNode)" obj.save() def fix_UlohaVzorakNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'UlohaVzorakNode') for obj in Objects.objects.all(): obj.nazev = str(obj.uloha)+" (UlohaVzorakNode)" obj.save() def fix_TextNode_names(apps,schema_editor): Objects = apps.get_model('seminar', 'TextNode') for obj in Objects.objects.all(): obj.nazev = str(obj.text)+" (TextNode)" obj.save() def fix_all_names(apps,schema_editor): fix_RocnikNode_names(apps,schema_editor) fix_CisloNode_names(apps,schema_editor) fix_MezicisloNode_names(apps,schema_editor) fix_TemaVCisleNode_names(apps,schema_editor) fix_KonferaNode_names(apps,schema_editor) fix_ClanekNode_names(apps,schema_editor) fix_UlohaZadaniNode_names(apps,schema_editor) fix_PohadkaNode_names(apps,schema_editor) fix_UlohaVzorakNode_names(apps,schema_editor) fix_TextNode_names(apps,schema_editor) class Migration(migrations.Migration): dependencies = [ ('seminar', '0067_auto_20190814_0805'), ] operations = [ migrations.AddField( model_name='treenode', name='nazev', field=models.TextField(help_text='Tento název se zobrazuje v nabídkách pro výběr vhodného TreeNode', null=True, verbose_name='název tohoto node'), ), migrations.RunPython(fix_all_names), ]