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