# Generated by Django 4.2.20 on 2025-10-11 15:43 from django.db import migrations from django.db import models def set_status_from_old_fields(apps, schema_editor): """ Set the status field based on the existing submitted and confirmed fields. - If confirmed is True, status = CONFIRMED (2) - If submitted is True but confirmed is False, status = SUBMITTED (1) - Otherwise, status = UNSUBMITTED (0) """ Statement = apps.get_model("finance", "Statement") UNSUBMITTED, SUBMITTED, CONFIRMED = 0, 1, 2 for statement in Statement.objects.all(): if statement.confirmed: statement.status = CONFIRMED elif statement.submitted: statement.status = SUBMITTED else: statement.status = UNSUBMITTED statement.save(update_fields=["status"]) class Migration(migrations.Migration): dependencies = [ ("finance", "0009_statement_ljp_to"), ] operations = [ migrations.AddField( model_name="statement", name="status", field=models.IntegerField( choices=[(0, "In preparation"), (1, "Submitted"), (2, "Confirmed")], default=0, verbose_name="Status", ), ), migrations.RunPython(set_status_from_old_fields, reverse_code=migrations.RunPython.noop), ]