Migrace: Nefunguje volání metod
Revert souboru seminar/migrations/0002_treenode_nazev.py
This commit is contained in:
parent
4f499330b1
commit
418eb7c17a
1 changed files with 87 additions and 17 deletions
|
@ -2,24 +2,94 @@
|
|||
|
||||
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):
|
||||
for objtype in [
|
||||
"RocnikNode",
|
||||
"CisloNode",
|
||||
"MezicisloNode",
|
||||
"TemaVCisleNode",
|
||||
"KonferaNode",
|
||||
"ClanekNode",
|
||||
"UlohaZadaniNode",
|
||||
"PohadkaNode",
|
||||
"UlohaVzorakNode",
|
||||
"TextNode",
|
||||
]:
|
||||
Objects = apps.get_model('seminar', objtype)
|
||||
for obj in Objects.objects.all():
|
||||
obj.aktualizuj_nazev()
|
||||
# Better save than sorry
|
||||
obj.save()
|
||||
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):
|
||||
|
||||
|
|
Loading…
Reference in a new issue