from django.db import migrations, models from django.apps import apps as global_apps def check_for_migration(apps, schema_editor): if global_apps.is_installed('aleksis.apps.lesrooster'): return ValidityRange = apps.get_model('chronos', 'ValidityRange') Subject = apps.get_model('chronos', 'Subject') AbsenceReason = apps.get_model('chronos', 'AbsenceReason') Absence = apps.get_model('chronos', 'Absence') Holiday = apps.get_model('chronos', 'Holiday') SupervisionArea = apps.get_model('chronos', 'SupervisionArea') model_types = [ValidityRange, Subject, AbsenceReason, Absence, Holiday, SupervisionArea] for model in model_types: if model.objects.exists(): raise RuntimeError("You have legacy data. Please install AlekSIS-App-Lesrooster to migrate them.") class Migration(migrations.Migration): dependencies = [ ('chronos', '0017_optional_slot_number'), ] operations = [ migrations.RunPython(check_for_migration), ]