Migrace Organizatora, aby se už nikde nepoužíval Djangový user
This commit is contained in:
		
							parent
							
								
									486d3911e9
								
							
						
					
					
						commit
						9374df8c69
					
				
					 1 changed files with 71 additions and 0 deletions
				
			
		
							
								
								
									
										71
									
								
								seminar/migrations/0052_user_to_organizator.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								seminar/migrations/0052_user_to_organizator.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| # -*- coding: utf-8 -*- | ||||
| # Generated by Django 1.11.15 on 2019-05-16 20:59 | ||||
| from __future__ import unicode_literals | ||||
| 
 | ||||
| from django.db import migrations | ||||
| 
 | ||||
| def spoj_k_organizatorum_osoby(apps, scema_editor):	 | ||||
| 	Organizator = apps.get_model('seminar', 'Organizator') | ||||
| 	Resitel = apps.get_model('seminar', 'Resitel') | ||||
| 	for org in Organizator.objects.all(): | ||||
| 		 | ||||
| 		# Spárování organizátora s osobou | ||||
| 		user = org.user | ||||
| 		resitele = Resitel.objects.filter(user=user) | ||||
| 		if resitele.count() != 0: | ||||
| 			osoba = resitele.first().osoba | ||||
| 		else: | ||||
| 			osoba = Osoba(user=user) | ||||
| 		org.osoba = osoba | ||||
| 
 | ||||
| 		# Přesun informací z organizátora do jeho osoby | ||||
| 		osoba.prezdivka = org.prezdivka | ||||
| 		osoba.foto = org.foto | ||||
| 		osoba.foto_male = org.foto_male | ||||
| 		 | ||||
| 		# Všechno uložit | ||||
| 		osoba.save() | ||||
| 		org.save() | ||||
| 		 | ||||
| def fix_problem(apps, schema_editor): | ||||
| 	Problem = apps.get_model('seminar', 'Problem') | ||||
| 	Organizator = apps.get_model('seminar', 'Organizator') | ||||
| 	for pr in Problem.objects.all(): | ||||
| 		if pr.autor_old is not None: | ||||
| 			pr.autor = Organizator.objects.filter(osoba__user=pr.autor_old).first() | ||||
| 		else: | ||||
| 			pr.autor = None | ||||
| 		if pr.opravovatel is not None: | ||||
| 			pr.opravovatele.add(Organizator.objects.filter(osoba__user=pr.opravovatel).first()) | ||||
| 		pr.save() | ||||
| 
 | ||||
| def fix_pohadka(apps, schema_editor): | ||||
| 	Pohadka = apps.get_model('seminar', 'Pohadka') | ||||
| 	Organizator = apps.get_model('seminar', 'Organizator') | ||||
| 	for poh in Pohadka.objects.all(): | ||||
| 		if poh.autor_old is not None: | ||||
| 			poh.autor = Organizator.objects.filter(osoba__user=poh.autor_old).first() | ||||
| 		else: | ||||
| 			poh.autor = None | ||||
| 		poh.save() | ||||
| 
 | ||||
| def fix_novinka(apps, schema_editor): | ||||
| 	Novinky = apps.get_model('seminar', 'Novinky') | ||||
| 	Organizator = apps.get_model('seminar', 'Organizator') | ||||
| 	for nov in Novinky.objects.all(): | ||||
| 		nov.autor = Organizator.objects.filter(osoba__user=nov.autor_old).first() | ||||
| 	 | ||||
| 	 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
| 	dependencies = [ | ||||
| 		('seminar', '0051_resitel_to_osoba'), | ||||
| 	] | ||||
| 
 | ||||
| 	operations = [ | ||||
| 		migrations.RunPython(spoj_k_organizatorum_osoby), | ||||
| 		migrations.RunPython(fix_problem), | ||||
| 		migrations.RunPython(fix_pohadka), | ||||
| 		migrations.RunPython(fix_novinka), | ||||
| 	] | ||||
		Loading…
	
		Reference in a new issue
	
	 Mee
						Mee