from django.db import migrations, models import django.db.models.deletion def backfill_flock_kandang_from_cycle(apps, schema_editor): Flock = apps.get_model("farms", "Flock") for flock in Flock.objects.select_related("cycle").iterator(): if flock.cycle_id and flock.kandang_id is None: flock.kandang_id = flock.cycle.kandang_id flock.save(update_fields=["kandang_id"]) class Migration(migrations.Migration): atomic = False dependencies = [ ("farms", "0010_restore_flock_cycle_erd"), ] operations = [ migrations.AddField( model_name="flock", name="kandang", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="flocks", to="farms.kandang", ), ), migrations.RunPython(backfill_flock_kandang_from_cycle, migrations.RunPython.noop), migrations.AlterField( model_name="flock", name="kandang", field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="flocks", to="farms.kandang", ), ), migrations.RemoveField( model_name="flock", name="cycle", ), ]