# Generated by Django 4.2.20 on 2025-10-11 15:43 from django.db import migrations, 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), ]