diff --git a/programs/migrations/0022_reverse_featured_pages_sort_order.py b/programs/migrations/0022_reverse_featured_pages_sort_order.py new file mode 100644 index 000000000..9e7a34ea7 --- /dev/null +++ b/programs/migrations/0022_reverse_featured_pages_sort_order.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.18 on 2024-03-08 19:16 + +from django.db import migrations + + +def reverse_featured_pages(apps, schema_editor): + FeaturedProgramPage = apps.get_model('programs', 'FeaturedProgramPage') + Program = apps.get_model('programs', 'Program') + + for program in Program.objects.all(): + items_to_update = [] + if not program.featured_pages.exclude(sort_order__isnull=True).exists(): + continue + for i, featured_page in enumerate(program.featured_pages.order_by('-sort_order')): + featured_page.sort_order = i + items_to_update.append(featured_page) + FeaturedProgramPage.objects.bulk_update( + items_to_update, + ['sort_order'], + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ('programs', '0021_remove_legacy_subscribe_page_models'), + ] + + operations = [ + migrations.RunPython(reverse_featured_pages), + ]