# Generated by Django 3.2.17 on 2023-04-17 06:32 from django.db import migrations, models def migrate_platform_automation_id(apps, *args): platform_model = apps.get_model('assets', 'Platform') for platform in platform_model.objects.all(): if platform.automation: platform._automation_id = platform.automation.id platform.save(update_fields=['_automation_id']) def migrate_automation_platform(apps, *args): platform_model = apps.get_model('assets', 'Platform') automation_model = apps.get_model('assets', 'PlatformAutomation') platforms = platform_model.objects.all() for platform in platforms: if not platform._automation_id: continue automation = automation_model.objects.filter(id=platform._automation_id).first() if not automation: continue automation.platform = platform automation.save(update_fields=['platform']) class Migration(migrations.Migration): dependencies = [ ('assets', '0114_baseautomation_params'), ] operations = [ migrations.AddField( model_name='platform', name='_automation_id', field=models.UUIDField(editable=False, null=True), ), migrations.RunPython(migrate_platform_automation_id), migrations.RemoveField(model_name='platform', name='automation'), migrations.AddField( model_name='platformautomation', name='platform', field=models.OneToOneField(null=True, on_delete=models.deletion.CASCADE, related_name='automation', to='assets.platform'), ), migrations.RunPython(migrate_automation_platform), migrations.RemoveField(model_name='platform', name='_automation_id'), ]