107 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # 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, migrations.RunPython.noop),
 | |
|     ]
 | 
