Browse Source

Migrace: Nefunguje volání metod

Revert souboru seminar/migrations/0002_treenode_nazev.py
export_seznamu_prednasek
Pavel 'LEdoian' Turinsky 5 years ago
parent
commit
418eb7c17a
  1. 104
      seminar/migrations/0002_treenode_nazev.py

104
seminar/migrations/0002_treenode_nazev.py

@ -2,24 +2,94 @@
from django.db import migrations, models 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): def fix_all_names(apps,schema_editor):
for objtype in [ fix_RocnikNode_names(apps,schema_editor)
"RocnikNode", fix_CisloNode_names(apps,schema_editor)
"CisloNode", fix_MezicisloNode_names(apps,schema_editor)
"MezicisloNode", fix_TemaVCisleNode_names(apps,schema_editor)
"TemaVCisleNode", fix_KonferaNode_names(apps,schema_editor)
"KonferaNode", fix_ClanekNode_names(apps,schema_editor)
"ClanekNode", fix_UlohaZadaniNode_names(apps,schema_editor)
"UlohaZadaniNode", fix_PohadkaNode_names(apps,schema_editor)
"PohadkaNode", fix_UlohaVzorakNode_names(apps,schema_editor)
"UlohaVzorakNode", fix_TextNode_names(apps,schema_editor)
"TextNode",
]:
Objects = apps.get_model('seminar', objtype)
for obj in Objects.objects.all():
obj.aktualizuj_nazev()
# Better save than sorry
obj.save()
class Migration(migrations.Migration): class Migration(migrations.Migration):

Loading…
Cancel
Save