from django.db import migrations, models import django.db.models.deletion def backfill_flock_kandang(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): dependencies = [ ("farms", "0008_cycle_feed_initial_balance"), ] 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, 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.AlterField( model_name="flock", name="cycle", field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="flocks", to="farms.cycle", ), ), ]