""" Data migration: rename Earthman 4th-suit cards from PENTACLES → CROWNS. Updates for every Earthman card where suit="PENTACLES": - suit: "PENTACLES" → "CROWNS" - name: " of Pentacles" → " of Crowns" - slug: "pentacles" → "crowns" """ from django.db import migrations def pentacles_to_crowns(apps, schema_editor): TarotCard = apps.get_model("epic", "TarotCard") DeckVariant = apps.get_model("epic", "DeckVariant") earthman = DeckVariant.objects.filter(slug="earthman").first() if not earthman: return for card in TarotCard.objects.filter(deck_variant=earthman, suit="PENTACLES"): card.suit = "CROWNS" card.name = card.name.replace(" of Pentacles", " of Crowns") card.slug = card.slug.replace("pentacles", "crowns") card.save(update_fields=["suit", "name", "slug"]) def crowns_to_pentacles(apps, schema_editor): TarotCard = apps.get_model("epic", "TarotCard") DeckVariant = apps.get_model("epic", "DeckVariant") earthman = DeckVariant.objects.filter(slug="earthman").first() if not earthman: return for card in TarotCard.objects.filter(deck_variant=earthman, suit="CROWNS"): card.suit = "PENTACLES" card.name = card.name.replace(" of Crowns", " of Pentacles") card.slug = card.slug.replace("crowns", "pentacles") card.save(update_fields=["suit", "name", "slug"]) class Migration(migrations.Migration): dependencies = [ ("epic", "0023_tarotcard_icon_alter_tarotcard_arcana_and_more"), ] operations = [ migrations.RunPython(pentacles_to_crowns, reverse_code=crowns_to_pentacles), ]