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