# Generated by Django 6.0.6 on 2026-08-04 21:32 import django.db.models.deletion from django.conf import settings from django.db import migrations, models def create_flags_for_seeded_competitions(apps, schema_editor): """RBIHF/CEHL (0017's data migration) predate the flag field -- give them one each so they're actually selectable (unflagged competitions never show up in the Event admin's dropdown) instead of silently invisible.""" Competition = apps.get_model("events", "Competition") Flag = apps.get_model(*settings.WAFFLE_FLAG_MODEL.split(".")) for competition in Competition.objects.filter(flag__isnull=True): flag, _created = Flag.objects.get_or_create(name=competition.name) competition.flag = flag competition.save(update_fields=["flag"]) def noop(apps, schema_editor): pass class Migration(migrations.Migration): dependencies = [ ('events', '0017_auto_20260804_2322'), migrations.swappable_dependency(settings.WAFFLE_FLAG_MODEL), ] operations = [ migrations.AlterModelOptions( name='competition', options={'ordering': ['name'], 'verbose_name': 'competition', 'verbose_name_plural': 'competitions'}, ), migrations.AddField( model_name='competition', name='flag', field=models.ForeignKey(blank=True, help_text="Which clubs this competition is offered to -- set (or leave blank to hide it everywhere) from the control panel's Features page. A competition with no flag never shows up on the Event admin's competition dropdown.", null=True, on_delete=django.db.models.deletion.PROTECT, related_name='competitions', to=settings.WAFFLE_FLAG_MODEL, verbose_name='feature flag'), ), migrations.RunPython(create_flags_for_seeded_competitions, noop), ]