# Generated by Django 4.1.5 on 2023-11-06 17:25 from django.db import migrations, models def rename_duplicates(apps, schema_editor): Edition = apps.get_model("games", "Edition") duplicates = ( Edition.objects.values("name", "platform") .annotate(name_count=models.Count("id")) .filter(name_count__gt=1) ) for duplicate in duplicates: counter = 1 duplicate_editions = Edition.objects.filter( name=duplicate["name"], platform_id=duplicate["platform"] ).order_by("id") for edition in duplicate_editions[1:]: # Skip the first one edition.name = f"{edition.name} {counter}" edition.save() counter += 1 class Migration(migrations.Migration): dependencies = [ ("games", "0017_alter_device_type_alter_purchase_platform"), ] operations = [ migrations.RunPython(rename_duplicates), ]