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