From 016d97e3844347e4099c080a2a01d4cfb1e77c24 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sat, 24 Jan 2026 16:11:30 -0600 Subject: [PATCH 01/13] fix: add needed migration --- ...on_alter_abilitychange_ability_and_more.py | 2630 +++++++++++++++++ 1 file changed, 2630 insertions(+) create mode 100644 pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py diff --git a/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py b/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py new file mode 100644 index 000000000..bb2771509 --- /dev/null +++ b/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py @@ -0,0 +1,2630 @@ +# Generated by Django 4.2.27 on 2026-01-24 22:10 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("pokemon_v2", "0023_longer_description"), + ] + + operations = [ + migrations.AlterField( + model_name="ability", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="abilitychange", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="abilitychange", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="abilitychangeeffecttext", + name="ability_change", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.abilitychange", + ), + ), + migrations.AlterField( + model_name="abilitychangeeffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="abilityeffecttext", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="abilityeffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="abilityflavortext", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="abilityflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="abilityflavortext", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="abilityname", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="abilityname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="berry", + name="berry_firmness", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.berryfirmness", + ), + ), + migrations.AlterField( + model_name="berry", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="berry", + name="natural_gift_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="berryfirmnessname", + name="berry_firmness", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.berryfirmness", + ), + ), + migrations.AlterField( + model_name="berryfirmnessname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="berryflavor", + name="contest_type", + field=models.OneToOneField( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesttype", + ), + ), + migrations.AlterField( + model_name="berryflavormap", + name="berry", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.berry", + ), + ), + migrations.AlterField( + model_name="berryflavormap", + name="berry_flavor", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.berryflavor", + ), + ), + migrations.AlterField( + model_name="berryflavorname", + name="berry_flavor", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.berryflavor", + ), + ), + migrations.AlterField( + model_name="berryflavorname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="characteristic", + name="stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + migrations.AlterField( + model_name="characteristicdescription", + name="characteristic", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.characteristic", + ), + ), + migrations.AlterField( + model_name="characteristicdescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="contesteffecteffecttext", + name="contest_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesteffect", + ), + ), + migrations.AlterField( + model_name="contesteffecteffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="contesteffectflavortext", + name="contest_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesteffect", + ), + ), + migrations.AlterField( + model_name="contesteffectflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="contesttypename", + name="contest_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesttype", + ), + ), + migrations.AlterField( + model_name="contesttypename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="egggroupname", + name="egg_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.egggroup", + ), + ), + migrations.AlterField( + model_name="egggroupname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="encounter", + name="location_area", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.locationarea", + ), + ), + migrations.AlterField( + model_name="encounter", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="encounter", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + migrations.AlterField( + model_name="encounterconditionname", + name="encounter_condition", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encountercondition", + ), + ), + migrations.AlterField( + model_name="encounterconditionname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="encounterconditionvalue", + name="encounter_condition", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encountercondition", + ), + ), + migrations.AlterField( + model_name="encounterconditionvaluename", + name="encounter_condition_value", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encounterconditionvalue", + ), + ), + migrations.AlterField( + model_name="encounterconditionvaluename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="encountermethodname", + name="encounter_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encountermethod", + ), + ), + migrations.AlterField( + model_name="encountermethodname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="encounterslot", + name="encounter_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encountermethod", + ), + ), + migrations.AlterField( + model_name="encounterslot", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="evolutiontriggername", + name="evolution_trigger", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.evolutiontrigger", + ), + ), + migrations.AlterField( + model_name="evolutiontriggername", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="experience", + name="growth_rate", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.growthrate", + ), + ), + migrations.AlterField( + model_name="generation", + name="region", + field=models.OneToOneField( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.region", + ), + ), + migrations.AlterField( + model_name="generationname", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="generationname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="growthratedescription", + name="growth_rate", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.growthrate", + ), + ), + migrations.AlterField( + model_name="growthratedescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="item", + name="item_category", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemcategory", + ), + ), + migrations.AlterField( + model_name="item", + name="item_fling_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemflingeffect", + ), + ), + migrations.AlterField( + model_name="itemattributedescription", + name="item_attribute", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemattribute", + ), + ), + migrations.AlterField( + model_name="itemattributedescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemattributemap", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="itemattributemap", + name="item_attribute", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemattribute", + ), + ), + migrations.AlterField( + model_name="itemattributename", + name="item_attribute", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemattribute", + ), + ), + migrations.AlterField( + model_name="itemattributename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemcategory", + name="item_pocket", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itempocket", + ), + ), + migrations.AlterField( + model_name="itemcategoryname", + name="item_category", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemcategory", + ), + ), + migrations.AlterField( + model_name="itemcategoryname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemeffecttext", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="itemeffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemflavortext", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="itemflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemflavortext", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="itemflingeffecteffecttext", + name="item_fling_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itemflingeffect", + ), + ), + migrations.AlterField( + model_name="itemflingeffecteffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemgameindex", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="itemgameindex", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="itemname", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="itemname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itempocketname", + name="item_pocket", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.itempocket", + ), + ), + migrations.AlterField( + model_name="itempocketname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="itemsprites", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="languagename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="location", + name="region", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.region", + ), + ), + migrations.AlterField( + model_name="locationarea", + name="location", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.location", + ), + ), + migrations.AlterField( + model_name="locationareaencounterrate", + name="encounter_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.encountermethod", + ), + ), + migrations.AlterField( + model_name="locationareaencounterrate", + name="location_area", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.locationarea", + ), + ), + migrations.AlterField( + model_name="locationareaencounterrate", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + migrations.AlterField( + model_name="locationareaname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="locationareaname", + name="location_area", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.locationarea", + ), + ), + migrations.AlterField( + model_name="locationgameindex", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="locationgameindex", + name="location", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.location", + ), + ), + migrations.AlterField( + model_name="locationname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="locationname", + name="location", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.location", + ), + ), + migrations.AlterField( + model_name="machine", + name="growth_rate", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.growthrate", + ), + ), + migrations.AlterField( + model_name="machine", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="move", + name="contest_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesteffect", + ), + ), + migrations.AlterField( + model_name="move", + name="contest_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.contesttype", + ), + ), + migrations.AlterField( + model_name="move", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="move", + name="move_damage_class", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movedamageclass", + ), + ), + migrations.AlterField( + model_name="move", + name="move_target", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movetarget", + ), + ), + migrations.AlterField( + model_name="move", + name="super_contest_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.supercontesteffect", + ), + ), + migrations.AlterField( + model_name="move", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="moveattributedescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="moveattributemap", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="moveattributename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movebattlestylename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movebattlestylename", + name="move_battle_style", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movebattlestyle", + ), + ), + migrations.AlterField( + model_name="movechange", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="movechange", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="movechange", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="movedamageclassdescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movedamageclassdescription", + name="move_damage_class", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movedamageclass", + ), + ), + migrations.AlterField( + model_name="movedamageclassname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movedamageclassname", + name="move_damage_class", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movedamageclass", + ), + ), + migrations.AlterField( + model_name="moveeffectchange", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="moveeffectchangeeffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="moveeffectchangeeffecttext", + name="move_effect_change", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.moveeffectchange", + ), + ), + migrations.AlterField( + model_name="moveeffecteffecttext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="moveflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="moveflavortext", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="moveflavortext", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="movelearnmethoddescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movelearnmethoddescription", + name="move_learn_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movelearnmethod", + ), + ), + migrations.AlterField( + model_name="movelearnmethodname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movelearnmethodname", + name="move_learn_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movelearnmethod", + ), + ), + migrations.AlterField( + model_name="movemeta", + name="move", + field=models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="movemeta", + name="move_meta_ailment", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movemetaailment", + ), + ), + migrations.AlterField( + model_name="movemeta", + name="move_meta_category", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movemetacategory", + ), + ), + migrations.AlterField( + model_name="movemetaailmentname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movemetaailmentname", + name="move_meta_ailment", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movemetaailment", + ), + ), + migrations.AlterField( + model_name="movemetacategorydescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movemetacategorydescription", + name="move_meta_category", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movemetacategory", + ), + ), + migrations.AlterField( + model_name="movemetastatchange", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="movemetastatchange", + name="stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + migrations.AlterField( + model_name="movename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movename", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="movetargetdescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movetargetdescription", + name="move_target", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movetarget", + ), + ), + migrations.AlterField( + model_name="movetargetname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="movetargetname", + name="move_target", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movetarget", + ), + ), + migrations.AlterField( + model_name="naturebattlestylepreference", + name="move_battle_style", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movebattlestyle", + ), + ), + migrations.AlterField( + model_name="naturebattlestylepreference", + name="nature", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.nature", + ), + ), + migrations.AlterField( + model_name="naturename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="naturename", + name="nature", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.nature", + ), + ), + migrations.AlterField( + model_name="naturepokeathlonstat", + name="nature", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.nature", + ), + ), + migrations.AlterField( + model_name="naturepokeathlonstat", + name="pokeathlon_stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokeathlonstat", + ), + ), + migrations.AlterField( + model_name="palpark", + name="pal_park_area", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.palparkarea", + ), + ), + migrations.AlterField( + model_name="palpark", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="palparkareaname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="palparkareaname", + name="pal_park_area", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.palparkarea", + ), + ), + migrations.AlterField( + model_name="pokeathlonstatname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokeathlonstatname", + name="pokeathlon_stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokeathlonstat", + ), + ), + migrations.AlterField( + model_name="pokedex", + name="region", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.region", + ), + ), + migrations.AlterField( + model_name="pokedexdescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokedexdescription", + name="pokedex", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokedex", + ), + ), + migrations.AlterField( + model_name="pokedexname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokedexname", + name="pokedex", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokedex", + ), + ), + migrations.AlterField( + model_name="pokedexversiongroup", + name="pokedex", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokedex", + ), + ), + migrations.AlterField( + model_name="pokedexversiongroup", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="pokemon", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonability", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="pokemonability", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonabilitypast", + name="ability", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.ability", + ), + ), + migrations.AlterField( + model_name="pokemonabilitypast", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="pokemonabilitypast", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemoncolorname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemoncolorname", + name="pokemon_color", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemoncolor", + ), + ), + migrations.AlterField( + model_name="pokemoncries", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemondexnumber", + name="pokedex", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokedex", + ), + ), + migrations.AlterField( + model_name="pokemondexnumber", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonegggroup", + name="egg_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.egggroup", + ), + ), + migrations.AlterField( + model_name="pokemonegggroup", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonevolution", + name="evolution_trigger", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.evolutiontrigger", + ), + ), + migrations.AlterField( + model_name="pokemonevolution", + name="gender", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.gender", + ), + ), + migrations.AlterField( + model_name="pokemonform", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonformgeneration", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="pokemonformgeneration", + name="pokemon_form", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonform", + ), + ), + migrations.AlterField( + model_name="pokemonformname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonformname", + name="pokemon_form", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonform", + ), + ), + migrations.AlterField( + model_name="pokemonformsprites", + name="pokemon_form", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonform", + ), + ), + migrations.AlterField( + model_name="pokemonformtype", + name="pokemon_form", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonform", + ), + ), + migrations.AlterField( + model_name="pokemonformtype", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="pokemongameindex", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemongameindex", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + migrations.AlterField( + model_name="pokemonhabitatname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonhabitatname", + name="pokemon_habitat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonhabitat", + ), + ), + migrations.AlterField( + model_name="pokemonitem", + name="item", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.item", + ), + ), + migrations.AlterField( + model_name="pokemonitem", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonitem", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + migrations.AlterField( + model_name="pokemonmove", + name="move", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.move", + ), + ), + migrations.AlterField( + model_name="pokemonmove", + name="move_learn_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movelearnmethod", + ), + ), + migrations.AlterField( + model_name="pokemonmove", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonmove", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="pokemonshapename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonspecies", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="pokemonspecies", + name="growth_rate", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.growthrate", + ), + ), + migrations.AlterField( + model_name="pokemonspecies", + name="pokemon_color", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemoncolor", + ), + ), + migrations.AlterField( + model_name="pokemonspecies", + name="pokemon_habitat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonhabitat", + ), + ), + migrations.AlterField( + model_name="pokemonspecies", + name="pokemon_shape", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonshape", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesdescription", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesdescription", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesflavortext", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesflavortext", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="pokemonspeciesname", + name="pokemon_species", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemonspecies", + ), + ), + migrations.AlterField( + model_name="pokemonsprites", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonstat", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemonstat", + name="stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + migrations.AlterField( + model_name="pokemontype", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemontype", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="pokemontypepast", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="pokemontypepast", + name="pokemon", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + migrations.AlterField( + model_name="pokemontypepast", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="regionname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="regionname", + name="region", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.region", + ), + ), + migrations.AlterField( + model_name="stat", + name="move_damage_class", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movedamageclass", + ), + ), + migrations.AlterField( + model_name="statname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="statname", + name="stat", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + migrations.AlterField( + model_name="supercontesteffectflavortext", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="supercontesteffectflavortext", + name="super_contest_effect", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.supercontesteffect", + ), + ), + migrations.AlterField( + model_name="type", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="type", + name="move_damage_class", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movedamageclass", + ), + ), + migrations.AlterField( + model_name="typeefficacy", + name="damage_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_damage_type", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typeefficacy", + name="target_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_target_type", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typeefficacypast", + name="damage_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_damage_type", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typeefficacypast", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="typeefficacypast", + name="target_type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_target_type", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typegameindex", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="typegameindex", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typename", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="typename", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="typesprites", + name="type", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.type", + ), + ), + migrations.AlterField( + model_name="version", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="versiongroup", + name="generation", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + migrations.AlterField( + model_name="versiongroupmovelearnmethod", + name="move_learn_method", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.movelearnmethod", + ), + ), + migrations.AlterField( + model_name="versiongroupmovelearnmethod", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="versiongroupregion", + name="region", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.region", + ), + ), + migrations.AlterField( + model_name="versiongroupregion", + name="version_group", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.versiongroup", + ), + ), + migrations.AlterField( + model_name="versionname", + name="language", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s_language", + to="pokemon_v2.language", + ), + ), + migrations.AlterField( + model_name="versionname", + name="version", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.version", + ), + ), + ] From b941f999cf28f28dba4d5eabf8e995e53c5d757e Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sat, 24 Jan 2026 20:10:34 -0600 Subject: [PATCH 02/13] feat: add new type PokemonStatPast --- data/v2/build.py | 11 ++++ data/v2/csv/pokemon_stats_past.csv | 2 + pokemon_v2/migrations/0025_pokemonstatpast.py | 66 +++++++++++++++++++ pokemon_v2/models.py | 6 ++ pokemon_v2/serializers.py | 44 +++++++++++++ pokemon_v2/tests.py | 44 +++++++++++++ 6 files changed, 173 insertions(+) create mode 100644 data/v2/csv/pokemon_stats_past.csv create mode 100644 pokemon_v2/migrations/0025_pokemonstatpast.py diff --git a/data/v2/build.py b/data/v2/build.py index 62ad3be42..c0e845477 100644 --- a/data/v2/build.py +++ b/data/v2/build.py @@ -2281,6 +2281,17 @@ def csv_record_to_objects(info): build_generic((PokemonStat,), "pokemon_stats.csv", csv_record_to_objects) + def csv_record_to_objects(info): + yield PokemonStatPast( + pokemon_id=int(info[0]), + generation_id=int(info[1]), + stat_id=int(info[2]), + base_stat=int(info[3]), + effort=int(info[4]), + ) + + build_generic((PokemonStatPast,), "pokemon_stats_past.csv", csv_record_to_objects) + def csv_record_to_objects(info): yield PokemonType( pokemon_id=int(info[0]), type_id=int(info[1]), slot=int(info[2]) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv new file mode 100644 index 000000000..4d8b5305c --- /dev/null +++ b/data/v2/csv/pokemon_stats_past.csv @@ -0,0 +1,2 @@ +pokemon_id,generation_id,stat_id,base_stat,effort +1,1,1,500,100 diff --git a/pokemon_v2/migrations/0025_pokemonstatpast.py b/pokemon_v2/migrations/0025_pokemonstatpast.py new file mode 100644 index 000000000..5f1c1161c --- /dev/null +++ b/pokemon_v2/migrations/0025_pokemonstatpast.py @@ -0,0 +1,66 @@ +# Generated by Django 4.2.27 on 2026-01-24 22:11 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "pokemon_v2", + "0024_alter_ability_generation_alter_abilitychange_ability_and_more", + ), + ] + + operations = [ + migrations.CreateModel( + name="PokemonStatPast", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("base_stat", models.IntegerField()), + ("effort", models.IntegerField()), + ( + "generation", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.generation", + ), + ), + ( + "pokemon", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + ( + "stat", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + ], + options={ + "abstract": False, + }, + ), + ] diff --git a/pokemon_v2/models.py b/pokemon_v2/models.py index 8a2e23fe4..5fd7c2ae5 100644 --- a/pokemon_v2/models.py +++ b/pokemon_v2/models.py @@ -1816,6 +1816,12 @@ class PokemonStat(HasPokemon, HasStat): effort = models.IntegerField() +class PokemonStatPast(HasPokemon, HasStat, HasGeneration): + base_stat = models.IntegerField() + + effort = models.IntegerField() + + class PokemonType(HasPokemon, HasType): slot = models.IntegerField() diff --git a/pokemon_v2/serializers.py b/pokemon_v2/serializers.py index 6863de286..636cdb20f 100644 --- a/pokemon_v2/serializers.py +++ b/pokemon_v2/serializers.py @@ -4318,6 +4318,15 @@ class Meta: fields = ("base_stat", "effort", "stat") +class PokemonStatPastSerializer(serializers.ModelSerializer): + generation = GenerationSummarySerializer() + stat = StatSummarySerializer() + + class Meta: + model = PokemonStatPast + fields = ("base_stat", "effort", "generation", "stat") + + ######################### # POKEMON SERIALIZERS # ######################### @@ -4340,6 +4349,7 @@ class PokemonDetailSerializer(serializers.ModelSerializer): moves = serializers.SerializerMethodField("get_pokemon_moves") species = PokemonSpeciesSummarySerializer(source="pokemon_species") stats = PokemonStatSerializer(many=True, read_only=True, source="pokemonstat") + past_stats = serializers.SerializerMethodField("get_past_pokemon_stats") types = serializers.SerializerMethodField("get_pokemon_types") past_types = serializers.SerializerMethodField("get_past_pokemon_types") forms = PokemonFormSummarySerializer( @@ -4371,6 +4381,7 @@ class Meta: "sprites", "cries", "stats", + "past_stats", "types", "past_types", ) @@ -5083,6 +5094,39 @@ def get_past_pokemon_abilities(self, obj): return final_data + def get_past_pokemon_stats(self, obj): + pokemon_past_stat_objects = PokemonStatPast.objects.filter(pokemon=obj) + pokemon_past_stats = PokemonStatPastSerializer( + pokemon_past_stat_objects, many=True, context=self.context + ).data + + # post-process to the form we want + current_generation = "" + past_obj = {} + final_data = [] + for pokemon_past_stat in pokemon_past_stats: + generation = pokemon_past_stat["generation"]["name"] + if generation != current_generation: + current_generation = generation + past_obj = {} + + # create past stats object for this generation + past_obj["generation"] = pokemon_past_stat["generation"] + del pokemon_past_stat["generation"] + + # create stats array + past_obj["stats"] = [pokemon_past_stat] + + # add to past stats array + final_data.append(past_obj) + + else: + # add to existing array for this generation + del pokemon_past_stat["generation"] + past_obj["stats"].append(pokemon_past_stat) + + return final_data + # { # "slot": 1, # "type": { diff --git a/pokemon_v2/tests.py b/pokemon_v2/tests.py index c0bc8f0a9..6bed79fcd 100644 --- a/pokemon_v2/tests.py +++ b/pokemon_v2/tests.py @@ -1656,6 +1656,21 @@ def setup_pokemon_stat_data(cls, pokemon, base_stat=10, effort=10): return pokemon_stat + @classmethod + def setup_pokemon_past_stat_data(cls, pokemon, generation, base_stat=10, effort=10): + stat = cls.setup_stat_data(name="stt for pkmn") + + pokemon_stat_past = PokemonStatPast( + pokemon=pokemon, + generation=generation, + stat=stat, + base_stat=base_stat, + effort=effort, + ) + pokemon_stat_past.save() + + return pokemon_stat_past + @classmethod def setup_pokemon_type_data(cls, pokemon, type=None, slot=1): type = type or cls.setup_type_data(name="tp for pkmn") @@ -4904,6 +4919,9 @@ def test_pokemon_api(self): pokemon=pokemon, generation=generation ) pokemon_stat = self.setup_pokemon_stat_data(pokemon=pokemon) + pokemon_past_stat = self.setup_pokemon_past_stat_data( + pokemon=pokemon, generation=generation + ) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation @@ -5029,6 +5047,29 @@ def test_pokemon_api(self): response.data["stats"][0]["stat"]["url"], "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_stat.stat.pk), ) + # past stat params + past_stats_obj = response.data["past_stats"][0] + self.assertEqual( + past_stats_obj["generation"]["name"], + pokemon_past_stat.generation.name, + ) + self.assertEqual( + past_stats_obj["generation"]["url"], + "{}{}/generation/{}/".format( + TEST_HOST, API_V2, pokemon_past_stat.generation.pk + ), + ) + + past_stats_stats_obj = past_stats_obj["stats"][0] + self.assertEqual(past_stats_stats_obj["base_stat"], pokemon_past_stat.base_stat) + self.assertEqual(past_stats_stats_obj["effort"], pokemon_past_stat.effort) + self.assertEqual( + past_stats_stats_obj["stat"]["name"], pokemon_past_stat.stat.name + ) + self.assertEqual( + past_stats_stats_obj["stat"]["url"], + "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_past_stat.stat.pk), + ) # type params self.assertEqual(response.data["types"][0]["slot"], pokemon_type.slot) self.assertEqual( @@ -5719,6 +5760,9 @@ def test_case_insensitive_api(self): pokemon=pokemon, generation=generation ) pokemon_stat = self.setup_pokemon_stat_data(pokemon=pokemon) + pokemon_past_stat = self.setup_pokemon_past_stat_data( + pokemon=pokemon, generation=generation + ) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation From 357626edd6c1bf1ffd17f66e953f201f5ec49306 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 09:30:59 -0600 Subject: [PATCH 03/13] feat: add data for all pokemon with changes to base stats --- data/v2/csv/pokemon_stats_past.csv | 76 +++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv index 4d8b5305c..f3df6e724 100644 --- a/data/v2/csv/pokemon_stats_past.csv +++ b/data/v2/csv/pokemon_stats_past.csv @@ -1,2 +1,76 @@ pokemon_id,generation_id,stat_id,base_stat,effort -1,1,1,500,100 +12,6,4,80,2 +15,6,2,80,2 +18,6,6,91,3 +25,6,2,30,0 +25,6,4,40,0 +26,6,5,100,0 +31,6,2,82,0 +34,6,2,92,3 +36,6,3,85,0 +40,6,4,75,0 +45,6,4,100,3 +62,6,2,85,0 +65,6,4,85,3 +71,6,5,60,0 +76,6,2,110,0 +181,6,2,75,0 +182,6,2,85,0 +184,6,4,50,0 +189,6,5,85,0 +267,6,4,90,3 +295,6,4,63,0 +398,6,5,50,0 +407,6,3,55,0 +508,6,1,100,0 +521,6,2,105,3 +526,6,4,70,0 +537,6,2,85,0 +542,6,5,70,0 +545,6,2,90,0 +553,6,3,70,0 +24,7,1,85,0 +51,7,1,80,0 +10037,7,4,95,3 +83,7,2,65,1 +85,7,6,100,0 +101,7,5,140,0 +103,7,5,65,0 +164,7,4,76,0 +168,7,5,60,0 +211,7,3,75,0 +219,7,1,50,0 +219,7,4,80,0 +222,7,1,55,0 +222,7,3,85,1 +222,7,5,85,1 +226,7,1,65,0 +277,7,4,50,0 +279,7,4,85,0 +284,7,4,80,1 +284,7,6,60,0 +301,7,5,70,0 +313,7,2,55,0 +313,7,4,75,0 +314,7,2,55,0 +314,7,4,75,0 +337,7,1,70,0 +338,7,1,70,0 +358,7,2,70,0 +358,7,4,80,1 +527,7,1,55,0 +558,7,2,95,0 +614,7,1,110,0 +615,7,2,30,0 +681,8,3,150,2 +681,8,5,150,1 +10026,8,2,150,2 +10026,8,4,150,1 +488,9,3,120,0 +488,9,5,130,3 +888,9,2,130,0 +10188,9,2,170,0 +889,9,2,130,0 +10189,9,2,130,0 +10189,9,3,145,0 +10189,9,5,145,0 From 8e670c0f4fdc992774bc994f02e92f6fef577fde Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 10:40:01 -0600 Subject: [PATCH 04/13] feat: add new type PokemonStatOriginal and associated data for gen 1 pokemon --- data/v2/build.py | 11 + data/v2/csv/pokemon_stats_original.csv | 756 ++++++++++++++++++ data/v2/csv/stats.csv | 1 + .../migrations/0026_pokemonstatoriginal.py | 52 ++ pokemon_v2/models.py | 4 + pokemon_v2/serializers.py | 12 + pokemon_v2/tests.py | 28 + 7 files changed, 864 insertions(+) create mode 100644 data/v2/csv/pokemon_stats_original.csv create mode 100644 pokemon_v2/migrations/0026_pokemonstatoriginal.py diff --git a/data/v2/build.py b/data/v2/build.py index c0e845477..16ed21cb1 100644 --- a/data/v2/build.py +++ b/data/v2/build.py @@ -2292,6 +2292,17 @@ def csv_record_to_objects(info): build_generic((PokemonStatPast,), "pokemon_stats_past.csv", csv_record_to_objects) + def csv_record_to_objects(info): + yield PokemonStatOriginal( + pokemon_id=int(info[0]), + stat_id=int(info[1]), + base_stat=int(info[2]), + ) + + build_generic( + (PokemonStatOriginal,), "pokemon_stats_original.csv", csv_record_to_objects + ) + def csv_record_to_objects(info): yield PokemonType( pokemon_id=int(info[0]), type_id=int(info[1]), slot=int(info[2]) diff --git a/data/v2/csv/pokemon_stats_original.csv b/data/v2/csv/pokemon_stats_original.csv new file mode 100644 index 000000000..2995863ba --- /dev/null +++ b/data/v2/csv/pokemon_stats_original.csv @@ -0,0 +1,756 @@ +pokemon_id,stat_id,base_stat +1,1,45 +1,2,49 +1,3,49 +1,6,45 +1,9,65 +2,1,60 +2,2,62 +2,3,63 +2,6,60 +2,9,80 +3,1,80 +3,2,82 +3,3,83 +3,6,80 +3,9,100 +4,1,39 +4,2,52 +4,3,43 +4,6,65 +4,9,50 +5,1,58 +5,2,64 +5,3,58 +5,6,80 +5,9,65 +6,1,78 +6,2,84 +6,3,78 +6,6,100 +6,9,85 +7,1,44 +7,2,48 +7,3,65 +7,6,43 +7,9,50 +8,1,59 +8,2,63 +8,3,80 +8,6,58 +8,9,65 +9,1,79 +9,2,83 +9,3,100 +9,6,78 +9,9,85 +10,1,45 +10,2,30 +10,3,35 +10,6,45 +10,9,20 +11,1,50 +11,2,20 +11,3,55 +11,6,30 +11,9,25 +12,1,60 +12,2,45 +12,3,50 +12,6,70 +12,9,80 +13,1,40 +13,2,35 +13,3,30 +13,6,50 +13,9,20 +14,1,45 +14,2,25 +14,3,50 +14,6,35 +14,9,25 +15,1,65 +15,2,80 +15,3,40 +15,6,75 +15,9,45 +16,1,40 +16,2,45 +16,3,40 +16,6,56 +16,9,35 +17,1,63 +17,2,60 +17,3,55 +17,6,71 +17,9,50 +18,1,83 +18,2,80 +18,3,75 +18,6,91 +18,9,70 +19,1,30 +19,2,56 +19,3,35 +19,6,72 +19,9,25 +20,1,55 +20,2,81 +20,3,60 +20,6,97 +20,9,50 +21,1,40 +21,2,60 +21,3,30 +21,6,70 +21,9,31 +22,1,65 +22,2,90 +22,3,65 +22,6,100 +22,9,61 +23,1,35 +23,2,60 +23,3,44 +23,6,55 +23,9,40 +24,1,60 +24,2,85 +24,3,69 +24,6,80 +24,9,65 +25,1,35 +25,2,55 +25,3,30 +25,6,90 +25,9,50 +26,1,60 +26,2,90 +26,3,55 +26,6,100 +26,9,90 +27,1,50 +27,2,75 +27,3,85 +27,6,40 +27,9,30 +28,1,75 +28,2,100 +28,3,110 +28,6,65 +28,9,55 +29,1,55 +29,2,47 +29,3,52 +29,6,41 +29,9,40 +30,1,70 +30,2,62 +30,3,67 +30,6,56 +30,9,55 +31,1,90 +31,2,82 +31,3,87 +31,6,76 +31,9,75 +32,1,46 +32,2,57 +32,3,40 +32,6,50 +32,9,40 +33,1,61 +33,2,72 +33,3,57 +33,6,65 +33,9,55 +34,1,81 +34,2,92 +34,3,77 +34,6,85 +34,9,75 +35,1,70 +35,2,45 +35,3,48 +35,6,35 +35,9,60 +36,1,95 +36,2,70 +36,3,73 +36,6,60 +36,9,85 +37,1,38 +37,2,41 +37,3,40 +37,6,65 +37,9,65 +38,1,73 +38,2,76 +38,3,75 +38,6,100 +38,9,100 +39,1,115 +39,2,45 +39,3,20 +39,6,20 +39,9,25 +40,1,140 +40,2,70 +40,3,45 +40,6,45 +40,9,50 +41,1,40 +41,2,45 +41,3,35 +41,6,55 +41,9,40 +42,1,75 +42,2,80 +42,3,70 +42,6,90 +42,9,75 +43,1,45 +43,2,50 +43,3,55 +43,6,30 +43,9,75 +44,1,60 +44,2,65 +44,3,70 +44,6,40 +44,9,85 +45,1,75 +45,2,80 +45,3,85 +45,6,50 +45,9,100 +46,1,35 +46,2,70 +46,3,55 +46,6,25 +46,9,55 +47,1,60 +47,2,95 +47,3,80 +47,6,30 +47,9,80 +48,1,60 +48,2,55 +48,3,50 +48,6,45 +48,9,40 +49,1,70 +49,2,65 +49,3,60 +49,6,90 +49,9,90 +50,1,10 +50,2,55 +50,3,25 +50,6,95 +50,9,45 +51,1,35 +51,2,80 +51,3,50 +51,6,120 +51,9,70 +52,1,40 +52,2,45 +52,3,35 +52,6,90 +52,9,40 +53,1,65 +53,2,70 +53,3,60 +53,6,115 +53,9,65 +54,1,50 +54,2,52 +54,3,48 +54,6,55 +54,9,50 +55,1,80 +55,2,82 +55,3,78 +55,6,85 +55,9,80 +56,1,40 +56,2,80 +56,3,35 +56,6,70 +56,9,35 +57,1,65 +57,2,105 +57,3,60 +57,6,95 +57,9,60 +58,1,55 +58,2,70 +58,3,45 +58,6,60 +58,9,50 +59,1,90 +59,2,110 +59,3,80 +59,6,95 +59,9,80 +60,1,40 +60,2,50 +60,3,40 +60,6,90 +60,9,40 +61,1,65 +61,2,65 +61,3,65 +61,6,90 +61,9,50 +62,1,90 +62,2,85 +62,3,95 +62,6,70 +62,9,70 +63,1,25 +63,2,20 +63,3,15 +63,6,90 +63,9,105 +64,1,40 +64,2,35 +64,3,30 +64,6,105 +64,9,120 +65,1,55 +65,2,50 +65,3,45 +65,6,120 +65,9,135 +66,1,70 +66,2,80 +66,3,50 +66,6,35 +66,9,35 +67,1,80 +67,2,100 +67,3,70 +67,6,45 +67,9,50 +68,1,90 +68,2,130 +68,3,80 +68,6,55 +68,9,65 +69,1,50 +69,2,75 +69,3,35 +69,6,40 +69,9,70 +70,1,65 +70,2,90 +70,3,50 +70,6,55 +70,9,85 +71,1,80 +71,2,105 +71,3,65 +71,6,70 +71,9,100 +72,1,40 +72,2,40 +72,3,35 +72,6,70 +72,9,100 +73,1,80 +73,2,70 +73,3,65 +73,6,100 +73,9,120 +74,1,40 +74,2,80 +74,3,100 +74,6,20 +74,9,30 +75,1,55 +75,2,95 +75,3,115 +75,6,35 +75,9,45 +76,1,80 +76,2,110 +76,3,130 +76,6,45 +76,9,55 +77,1,50 +77,2,85 +77,3,55 +77,6,90 +77,9,65 +78,1,65 +78,2,100 +78,3,70 +78,6,105 +78,9,80 +79,1,90 +79,2,65 +79,3,65 +79,6,15 +79,9,40 +80,1,95 +80,2,75 +80,3,110 +80,6,30 +80,9,80 +81,1,25 +81,2,35 +81,3,70 +81,6,45 +81,9,95 +82,1,50 +82,2,60 +82,3,95 +82,6,70 +82,9,120 +83,1,52 +83,2,65 +83,3,55 +83,6,60 +83,9,58 +84,1,35 +84,2,85 +84,3,45 +84,6,75 +84,9,35 +85,1,60 +85,2,110 +85,3,70 +85,6,100 +85,9,60 +86,1,65 +86,2,45 +86,3,55 +86,6,45 +86,9,70 +87,1,90 +87,2,70 +87,3,80 +87,6,70 +87,9,95 +88,1,80 +88,2,80 +88,3,50 +88,6,25 +88,9,40 +89,1,105 +89,2,105 +89,3,75 +89,6,50 +89,9,65 +90,1,30 +90,2,65 +90,3,100 +90,6,40 +90,9,45 +91,1,50 +91,2,95 +91,3,180 +91,6,70 +91,9,85 +92,1,30 +92,2,35 +92,3,30 +92,6,80 +92,9,100 +93,1,45 +93,2,50 +93,3,45 +93,6,95 +93,9,115 +94,1,60 +94,2,65 +94,3,60 +94,6,110 +94,9,130 +95,1,35 +95,2,45 +95,3,160 +95,6,70 +95,9,30 +96,1,60 +96,2,48 +96,3,45 +96,6,42 +96,9,90 +97,1,85 +97,2,73 +97,3,70 +97,6,67 +97,9,115 +98,1,30 +98,2,105 +98,3,90 +98,6,50 +98,9,25 +99,1,55 +99,2,130 +99,3,115 +99,6,75 +99,9,50 +100,1,40 +100,2,30 +100,3,50 +100,6,100 +100,9,55 +101,1,60 +101,2,50 +101,3,70 +101,6,140 +101,9,80 +102,1,60 +102,2,40 +102,3,80 +102,6,40 +102,9,60 +103,1,95 +103,2,95 +103,3,85 +103,6,55 +103,9,125 +104,1,50 +104,2,50 +104,3,95 +104,6,35 +104,9,40 +105,1,60 +105,2,80 +105,3,110 +105,6,45 +105,9,50 +106,1,50 +106,2,120 +106,3,53 +106,6,87 +106,9,35 +107,1,50 +107,2,105 +107,3,79 +107,6,76 +107,9,35 +108,1,90 +108,2,55 +108,3,75 +108,6,30 +108,9,60 +109,1,40 +109,2,65 +109,3,95 +109,6,35 +109,9,60 +110,1,65 +110,2,90 +110,3,120 +110,6,60 +110,9,85 +111,1,80 +111,2,85 +111,3,95 +111,6,25 +111,9,30 +112,1,105 +112,2,130 +112,3,120 +112,6,40 +112,9,45 +113,1,250 +113,2,5 +113,3,5 +113,6,50 +113,9,105 +114,1,65 +114,2,55 +114,3,115 +114,6,60 +114,9,100 +115,1,105 +115,2,95 +115,3,80 +115,6,90 +115,9,40 +116,1,30 +116,2,40 +116,3,70 +116,6,60 +116,9,70 +117,1,55 +117,2,65 +117,3,95 +117,6,85 +117,9,95 +118,1,45 +118,2,67 +118,3,60 +118,6,63 +118,9,50 +119,1,80 +119,2,92 +119,3,65 +119,6,68 +119,9,80 +120,1,30 +120,2,45 +120,3,55 +120,6,85 +120,9,70 +121,1,60 +121,2,75 +121,3,85 +121,6,115 +121,9,100 +122,1,40 +122,2,45 +122,3,65 +122,6,90 +122,9,100 +123,1,70 +123,2,110 +123,3,80 +123,6,105 +123,9,55 +124,1,65 +124,2,50 +124,3,35 +124,6,95 +124,9,95 +125,1,65 +125,2,83 +125,3,57 +125,6,105 +125,9,85 +126,1,65 +126,2,95 +126,3,57 +126,6,93 +126,9,85 +127,1,65 +127,2,125 +127,3,100 +127,6,85 +127,9,55 +128,1,75 +128,2,100 +128,3,95 +128,6,110 +128,9,70 +129,1,20 +129,2,10 +129,3,55 +129,6,80 +129,9,20 +130,1,95 +130,2,125 +130,3,79 +130,6,81 +130,9,100 +131,1,130 +131,2,85 +131,3,80 +131,6,60 +131,9,95 +132,1,48 +132,2,48 +132,3,48 +132,6,48 +132,9,48 +133,1,55 +133,2,55 +133,3,50 +133,6,55 +133,9,65 +134,1,130 +134,2,65 +134,3,60 +134,6,65 +134,9,110 +135,1,65 +135,2,65 +135,3,60 +135,6,130 +135,9,110 +136,1,65 +136,2,130 +136,3,60 +136,6,65 +136,9,110 +137,1,65 +137,2,60 +137,3,70 +137,6,40 +137,9,75 +138,1,35 +138,2,40 +138,3,100 +138,6,35 +138,9,90 +139,1,70 +139,2,60 +139,3,125 +139,6,55 +139,9,115 +140,1,30 +140,2,80 +140,3,90 +140,6,55 +140,9,45 +141,1,60 +141,2,115 +141,3,105 +141,6,80 +141,9,70 +142,1,80 +142,2,105 +142,3,65 +142,6,130 +142,9,60 +143,1,160 +143,2,110 +143,3,65 +143,6,30 +143,9,65 +144,1,90 +144,2,85 +144,3,100 +144,6,85 +144,9,125 +145,1,90 +145,2,90 +145,3,85 +145,6,100 +145,9,125 +146,1,90 +146,2,100 +146,3,90 +146,6,90 +146,9,125 +147,1,41 +147,2,64 +147,3,45 +147,6,50 +147,9,50 +148,1,61 +148,2,84 +148,3,65 +148,6,70 +148,9,70 +149,1,91 +149,2,134 +149,3,95 +149,6,80 +149,9,100 +150,1,106 +150,2,110 +150,3,90 +150,6,130 +150,9,154 +151,1,100 +151,2,100 +151,3,100 +151,6,100 +151,9,100 diff --git a/data/v2/csv/stats.csv b/data/v2/csv/stats.csv index 56a771d09..a2104dd9d 100644 --- a/data/v2/csv/stats.csv +++ b/data/v2/csv/stats.csv @@ -7,3 +7,4 @@ id,damage_class_id,identifier,is_battle_only,game_index 6,,speed,0,4 7,,accuracy,1, 8,,evasion,1, +9,3,special,0,7 diff --git a/pokemon_v2/migrations/0026_pokemonstatoriginal.py b/pokemon_v2/migrations/0026_pokemonstatoriginal.py new file mode 100644 index 000000000..5fb75facf --- /dev/null +++ b/pokemon_v2/migrations/0026_pokemonstatoriginal.py @@ -0,0 +1,52 @@ +# Generated by Django 4.2.27 on 2026-01-25 16:21 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("pokemon_v2", "0025_pokemonstatpast"), + ] + + operations = [ + migrations.CreateModel( + name="PokemonStatOriginal", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("base_stat", models.IntegerField()), + ( + "pokemon", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.pokemon", + ), + ), + ( + "stat", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="%(class)s", + to="pokemon_v2.stat", + ), + ), + ], + options={ + "abstract": False, + }, + ), + ] diff --git a/pokemon_v2/models.py b/pokemon_v2/models.py index 5fd7c2ae5..04914c7e1 100644 --- a/pokemon_v2/models.py +++ b/pokemon_v2/models.py @@ -1822,6 +1822,10 @@ class PokemonStatPast(HasPokemon, HasStat, HasGeneration): effort = models.IntegerField() +class PokemonStatOriginal(HasPokemon, HasStat): + base_stat = models.IntegerField() + + class PokemonType(HasPokemon, HasType): slot = models.IntegerField() diff --git a/pokemon_v2/serializers.py b/pokemon_v2/serializers.py index 636cdb20f..ed9d1d0e3 100644 --- a/pokemon_v2/serializers.py +++ b/pokemon_v2/serializers.py @@ -4327,6 +4327,14 @@ class Meta: fields = ("base_stat", "effort", "generation", "stat") +class PokemonStatOriginalSerializer(serializers.ModelSerializer): + stat = StatSummarySerializer() + + class Meta: + model = PokemonStatOriginal + fields = ("base_stat", "stat") + + ######################### # POKEMON SERIALIZERS # ######################### @@ -4350,6 +4358,9 @@ class PokemonDetailSerializer(serializers.ModelSerializer): species = PokemonSpeciesSummarySerializer(source="pokemon_species") stats = PokemonStatSerializer(many=True, read_only=True, source="pokemonstat") past_stats = serializers.SerializerMethodField("get_past_pokemon_stats") + original_stats = PokemonStatOriginalSerializer( + many=True, read_only=True, source="pokemonstatoriginal" + ) types = serializers.SerializerMethodField("get_pokemon_types") past_types = serializers.SerializerMethodField("get_past_pokemon_types") forms = PokemonFormSummarySerializer( @@ -4382,6 +4393,7 @@ class Meta: "cries", "stats", "past_stats", + "original_stats", "types", "past_types", ) diff --git a/pokemon_v2/tests.py b/pokemon_v2/tests.py index 6bed79fcd..b41d4805e 100644 --- a/pokemon_v2/tests.py +++ b/pokemon_v2/tests.py @@ -1671,6 +1671,19 @@ def setup_pokemon_past_stat_data(cls, pokemon, generation, base_stat=10, effort= return pokemon_stat_past + @classmethod + def setup_pokemon_original_stat_data(cls, pokemon, base_stat=10): + stat = cls.setup_stat_data(name="stt for pkmn") + + pokemon_stat_original = PokemonStatOriginal( + pokemon=pokemon, + stat=stat, + base_stat=base_stat, + ) + pokemon_stat_original.save() + + return pokemon_stat_original + @classmethod def setup_pokemon_type_data(cls, pokemon, type=None, slot=1): type = type or cls.setup_type_data(name="tp for pkmn") @@ -4922,6 +4935,7 @@ def test_pokemon_api(self): pokemon_past_stat = self.setup_pokemon_past_stat_data( pokemon=pokemon, generation=generation ) + pokemon_original_stat = self.setup_pokemon_original_stat_data(pokemon=pokemon) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation @@ -5070,6 +5084,19 @@ def test_pokemon_api(self): past_stats_stats_obj["stat"]["url"], "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_past_stat.stat.pk), ) + # original stat params + self.assertEqual( + response.data["original_stats"][0]["base_stat"], + pokemon_original_stat.base_stat, + ) + self.assertEqual( + response.data["original_stats"][0]["stat"]["name"], + pokemon_original_stat.stat.name, + ) + self.assertEqual( + response.data["original_stats"][0]["stat"]["url"], + "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_original_stat.stat.pk), + ) # type params self.assertEqual(response.data["types"][0]["slot"], pokemon_type.slot) self.assertEqual( @@ -5763,6 +5790,7 @@ def test_case_insensitive_api(self): pokemon_past_stat = self.setup_pokemon_past_stat_data( pokemon=pokemon, generation=generation ) + pokemon_original_stat = self.setup_pokemon_original_stat_data(pokemon=pokemon) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation From 8cbcec3ea6b6aea788b33812e072fe93c1046b8b Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 16:54:36 -0600 Subject: [PATCH 05/13] fix: correct generation id to one value lower --- data/v2/csv/pokemon_stats_past.csv | 150 ++++++++++++++--------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv index f3df6e724..c2d73e96c 100644 --- a/data/v2/csv/pokemon_stats_past.csv +++ b/data/v2/csv/pokemon_stats_past.csv @@ -1,76 +1,76 @@ pokemon_id,generation_id,stat_id,base_stat,effort -12,6,4,80,2 -15,6,2,80,2 -18,6,6,91,3 -25,6,2,30,0 -25,6,4,40,0 -26,6,5,100,0 -31,6,2,82,0 -34,6,2,92,3 -36,6,3,85,0 -40,6,4,75,0 -45,6,4,100,3 -62,6,2,85,0 -65,6,4,85,3 -71,6,5,60,0 -76,6,2,110,0 -181,6,2,75,0 -182,6,2,85,0 -184,6,4,50,0 -189,6,5,85,0 -267,6,4,90,3 -295,6,4,63,0 -398,6,5,50,0 -407,6,3,55,0 -508,6,1,100,0 -521,6,2,105,3 -526,6,4,70,0 -537,6,2,85,0 -542,6,5,70,0 -545,6,2,90,0 -553,6,3,70,0 -24,7,1,85,0 -51,7,1,80,0 -10037,7,4,95,3 -83,7,2,65,1 -85,7,6,100,0 -101,7,5,140,0 -103,7,5,65,0 -164,7,4,76,0 -168,7,5,60,0 -211,7,3,75,0 -219,7,1,50,0 -219,7,4,80,0 -222,7,1,55,0 -222,7,3,85,1 -222,7,5,85,1 -226,7,1,65,0 -277,7,4,50,0 -279,7,4,85,0 -284,7,4,80,1 -284,7,6,60,0 -301,7,5,70,0 -313,7,2,55,0 -313,7,4,75,0 -314,7,2,55,0 -314,7,4,75,0 -337,7,1,70,0 -338,7,1,70,0 -358,7,2,70,0 -358,7,4,80,1 -527,7,1,55,0 -558,7,2,95,0 -614,7,1,110,0 -615,7,2,30,0 -681,8,3,150,2 -681,8,5,150,1 -10026,8,2,150,2 -10026,8,4,150,1 -488,9,3,120,0 -488,9,5,130,3 -888,9,2,130,0 -10188,9,2,170,0 -889,9,2,130,0 -10189,9,2,130,0 -10189,9,3,145,0 -10189,9,5,145,0 +12,5,4,80,2 +15,5,2,80,2 +18,5,6,91,3 +25,5,2,30,0 +25,5,4,40,0 +26,5,5,100,0 +31,5,2,82,0 +34,5,2,92,3 +36,5,3,85,0 +40,5,4,75,0 +45,5,4,100,3 +62,5,2,85,0 +65,5,4,85,3 +71,5,5,60,0 +76,5,2,110,0 +181,5,2,75,0 +182,5,2,85,0 +184,5,4,50,0 +189,5,5,85,0 +267,5,4,90,3 +295,5,4,63,0 +398,5,5,50,0 +407,5,3,55,0 +508,5,1,100,0 +521,5,2,105,3 +526,5,4,70,0 +537,5,2,85,0 +542,5,5,70,0 +545,5,2,90,0 +553,5,3,70,0 +24,6,1,85,0 +51,6,1,80,0 +10037,6,4,95,3 +83,6,2,65,1 +85,6,6,100,0 +101,6,5,140,0 +103,6,5,65,0 +164,6,4,76,0 +168,6,5,60,0 +211,6,3,75,0 +219,6,1,50,0 +219,6,4,80,0 +222,6,1,55,0 +222,6,3,85,1 +222,6,5,85,1 +226,6,1,65,0 +277,6,4,50,0 +279,6,4,85,0 +284,6,4,80,1 +284,6,6,60,0 +301,6,5,70,0 +313,6,2,55,0 +313,6,4,75,0 +314,6,2,55,0 +314,6,4,75,0 +337,6,1,70,0 +338,6,1,70,0 +358,6,2,70,0 +358,6,4,80,1 +527,6,1,55,0 +558,6,2,95,0 +614,6,1,110,0 +615,6,2,30,0 +681,7,3,150,2 +681,7,5,150,1 +10026,7,2,150,2 +10026,7,4,150,1 +488,8,3,120,0 +488,8,5,130,3 +888,8,2,130,0 +10188,8,2,170,0 +889,8,2,130,0 +10189,8,2,130,0 +10189,8,3,145,0 +10189,8,5,145,0 From 8e4b7042d3f857e035d0f1637e55bf2cb07c8e2f Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 17:44:59 -0600 Subject: [PATCH 06/13] fix: update EV yields that updated in gen 9 --- data/v2/csv/pokemon_stats.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/data/v2/csv/pokemon_stats.csv b/data/v2/csv/pokemon_stats.csv index 83107fc33..cc6198d4d 100644 --- a/data/v2/csv/pokemon_stats.csv +++ b/data/v2/csv/pokemon_stats.csv @@ -5390,11 +5390,11 @@ pokemon_id,stat_id,base_stat,effort 899,1,103,0 899,2,105,1 899,3,72,0 -899,4,105,0 +899,4,105,1 899,5,75,0 899,6,65,0 900,1,70,0 -900,2,135,2 +900,2,135,3 900,3,95,0 900,4,45,0 900,5,70,0 @@ -5405,20 +5405,20 @@ pokemon_id,stat_id,base_stat,effort 901,4,45,0 901,5,80,0 901,6,50,0 -902,1,120,2 +902,1,120,3 902,2,112,0 902,3,65,0 902,4,80,0 902,5,75,0 902,6,78,0 903,1,80,0 -903,2,130,1 +903,2,130,2 903,3,60,0 903,4,40,0 903,5,80,0 -903,6,120,1 +903,6,120,0 904,1,85,0 -904,2,115,1 +904,2,115,2 904,3,95,0 904,4,65,0 904,5,65,0 @@ -7638,9 +7638,9 @@ pokemon_id,stat_id,base_stat,effort 10248,5,75,0 10248,6,78,0 10249,1,74,0 -10249,2,115,3 +10249,2,115,0 10249,3,110,0 -10249,4,135,0 +10249,4,135,3 10249,5,100,0 10249,6,46,0 10250,1,75,0 From 97990bc1a4dfce905a46d5d7f12492a2a2e28052 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 17:45:22 -0600 Subject: [PATCH 07/13] feat: add past stat entries for EV yield updates --- data/v2/csv/pokemon_stats_past.csv | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv index c2d73e96c..3e8f089d8 100644 --- a/data/v2/csv/pokemon_stats_past.csv +++ b/data/v2/csv/pokemon_stats_past.csv @@ -1,4 +1,10 @@ pokemon_id,generation_id,stat_id,base_stat,effort +193,3,6,95,2 +200,3,4,85,1 +242,3,1,255,2 +315,3,4,100,1 +355,3,3,90,1 +356,3,5,130,2 12,5,4,80,2 15,5,2,80,2 18,5,6,91,3 @@ -62,6 +68,7 @@ pokemon_id,generation_id,stat_id,base_stat,effort 558,6,2,95,0 614,6,1,110,0 615,6,2,30,0 +199,7,5,110,3 681,7,3,150,2 681,7,5,150,1 10026,7,2,150,2 @@ -74,3 +81,11 @@ pokemon_id,generation_id,stat_id,base_stat,effort 10189,8,2,130,0 10189,8,3,145,0 10189,8,5,145,0 +899,8,4,105,0 +900,8,2,135,2 +902,8,1,120,2 +903,8,2,130,1 +903,8,6,120,1 +904,8,2,115,1 +10249,8,2,115,3 +10249,8,4,135,0 From d3c515c7d61a36ce041dbc494cb2ea23b90e8fc6 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 17:57:40 -0600 Subject: [PATCH 08/13] fix: update basculegion-female EV yield to match gen 9 --- data/v2/csv/pokemon_stats.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/v2/csv/pokemon_stats.csv b/data/v2/csv/pokemon_stats.csv index cc6198d4d..404f43c20 100644 --- a/data/v2/csv/pokemon_stats.csv +++ b/data/v2/csv/pokemon_stats.csv @@ -7631,7 +7631,7 @@ pokemon_id,stat_id,base_stat,effort 10247,4,80,0 10247,5,55,0 10247,6,98,2 -10248,1,120,2 +10248,1,120,3 10248,2,92,0 10248,3,65,0 10248,4,100,0 From 810487280cebb8fc4dccad62b01dda36ba97702e Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Sun, 25 Jan 2026 17:58:05 -0600 Subject: [PATCH 09/13] fix: add past stat entry for basculegion-female --- data/v2/csv/pokemon_stats_past.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv index 3e8f089d8..327cc02cc 100644 --- a/data/v2/csv/pokemon_stats_past.csv +++ b/data/v2/csv/pokemon_stats_past.csv @@ -84,6 +84,7 @@ pokemon_id,generation_id,stat_id,base_stat,effort 899,8,4,105,0 900,8,2,135,2 902,8,1,120,2 +10248,8,1,120,2 903,8,2,130,1 903,8,6,120,1 904,8,2,115,1 From 24c1a81f6fbbdfbc11b2eb66baeb1ed0523a8d82 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Mon, 26 Jan 2026 09:21:27 -0600 Subject: [PATCH 10/13] refactor: Revert "feat: add new type PokemonStatOriginal and associated data for gen 1 pokemon" This reverts commit 8e670c0f4fdc992774bc994f02e92f6fef577fde. --- data/v2/build.py | 11 - data/v2/csv/pokemon_stats_original.csv | 756 ------------------ data/v2/csv/stats.csv | 1 - .../migrations/0026_pokemonstatoriginal.py | 52 -- pokemon_v2/models.py | 4 - pokemon_v2/serializers.py | 12 - pokemon_v2/tests.py | 28 - 7 files changed, 864 deletions(-) delete mode 100644 data/v2/csv/pokemon_stats_original.csv delete mode 100644 pokemon_v2/migrations/0026_pokemonstatoriginal.py diff --git a/data/v2/build.py b/data/v2/build.py index 16ed21cb1..c0e845477 100644 --- a/data/v2/build.py +++ b/data/v2/build.py @@ -2292,17 +2292,6 @@ def csv_record_to_objects(info): build_generic((PokemonStatPast,), "pokemon_stats_past.csv", csv_record_to_objects) - def csv_record_to_objects(info): - yield PokemonStatOriginal( - pokemon_id=int(info[0]), - stat_id=int(info[1]), - base_stat=int(info[2]), - ) - - build_generic( - (PokemonStatOriginal,), "pokemon_stats_original.csv", csv_record_to_objects - ) - def csv_record_to_objects(info): yield PokemonType( pokemon_id=int(info[0]), type_id=int(info[1]), slot=int(info[2]) diff --git a/data/v2/csv/pokemon_stats_original.csv b/data/v2/csv/pokemon_stats_original.csv deleted file mode 100644 index 2995863ba..000000000 --- a/data/v2/csv/pokemon_stats_original.csv +++ /dev/null @@ -1,756 +0,0 @@ -pokemon_id,stat_id,base_stat -1,1,45 -1,2,49 -1,3,49 -1,6,45 -1,9,65 -2,1,60 -2,2,62 -2,3,63 -2,6,60 -2,9,80 -3,1,80 -3,2,82 -3,3,83 -3,6,80 -3,9,100 -4,1,39 -4,2,52 -4,3,43 -4,6,65 -4,9,50 -5,1,58 -5,2,64 -5,3,58 -5,6,80 -5,9,65 -6,1,78 -6,2,84 -6,3,78 -6,6,100 -6,9,85 -7,1,44 -7,2,48 -7,3,65 -7,6,43 -7,9,50 -8,1,59 -8,2,63 -8,3,80 -8,6,58 -8,9,65 -9,1,79 -9,2,83 -9,3,100 -9,6,78 -9,9,85 -10,1,45 -10,2,30 -10,3,35 -10,6,45 -10,9,20 -11,1,50 -11,2,20 -11,3,55 -11,6,30 -11,9,25 -12,1,60 -12,2,45 -12,3,50 -12,6,70 -12,9,80 -13,1,40 -13,2,35 -13,3,30 -13,6,50 -13,9,20 -14,1,45 -14,2,25 -14,3,50 -14,6,35 -14,9,25 -15,1,65 -15,2,80 -15,3,40 -15,6,75 -15,9,45 -16,1,40 -16,2,45 -16,3,40 -16,6,56 -16,9,35 -17,1,63 -17,2,60 -17,3,55 -17,6,71 -17,9,50 -18,1,83 -18,2,80 -18,3,75 -18,6,91 -18,9,70 -19,1,30 -19,2,56 -19,3,35 -19,6,72 -19,9,25 -20,1,55 -20,2,81 -20,3,60 -20,6,97 -20,9,50 -21,1,40 -21,2,60 -21,3,30 -21,6,70 -21,9,31 -22,1,65 -22,2,90 -22,3,65 -22,6,100 -22,9,61 -23,1,35 -23,2,60 -23,3,44 -23,6,55 -23,9,40 -24,1,60 -24,2,85 -24,3,69 -24,6,80 -24,9,65 -25,1,35 -25,2,55 -25,3,30 -25,6,90 -25,9,50 -26,1,60 -26,2,90 -26,3,55 -26,6,100 -26,9,90 -27,1,50 -27,2,75 -27,3,85 -27,6,40 -27,9,30 -28,1,75 -28,2,100 -28,3,110 -28,6,65 -28,9,55 -29,1,55 -29,2,47 -29,3,52 -29,6,41 -29,9,40 -30,1,70 -30,2,62 -30,3,67 -30,6,56 -30,9,55 -31,1,90 -31,2,82 -31,3,87 -31,6,76 -31,9,75 -32,1,46 -32,2,57 -32,3,40 -32,6,50 -32,9,40 -33,1,61 -33,2,72 -33,3,57 -33,6,65 -33,9,55 -34,1,81 -34,2,92 -34,3,77 -34,6,85 -34,9,75 -35,1,70 -35,2,45 -35,3,48 -35,6,35 -35,9,60 -36,1,95 -36,2,70 -36,3,73 -36,6,60 -36,9,85 -37,1,38 -37,2,41 -37,3,40 -37,6,65 -37,9,65 -38,1,73 -38,2,76 -38,3,75 -38,6,100 -38,9,100 -39,1,115 -39,2,45 -39,3,20 -39,6,20 -39,9,25 -40,1,140 -40,2,70 -40,3,45 -40,6,45 -40,9,50 -41,1,40 -41,2,45 -41,3,35 -41,6,55 -41,9,40 -42,1,75 -42,2,80 -42,3,70 -42,6,90 -42,9,75 -43,1,45 -43,2,50 -43,3,55 -43,6,30 -43,9,75 -44,1,60 -44,2,65 -44,3,70 -44,6,40 -44,9,85 -45,1,75 -45,2,80 -45,3,85 -45,6,50 -45,9,100 -46,1,35 -46,2,70 -46,3,55 -46,6,25 -46,9,55 -47,1,60 -47,2,95 -47,3,80 -47,6,30 -47,9,80 -48,1,60 -48,2,55 -48,3,50 -48,6,45 -48,9,40 -49,1,70 -49,2,65 -49,3,60 -49,6,90 -49,9,90 -50,1,10 -50,2,55 -50,3,25 -50,6,95 -50,9,45 -51,1,35 -51,2,80 -51,3,50 -51,6,120 -51,9,70 -52,1,40 -52,2,45 -52,3,35 -52,6,90 -52,9,40 -53,1,65 -53,2,70 -53,3,60 -53,6,115 -53,9,65 -54,1,50 -54,2,52 -54,3,48 -54,6,55 -54,9,50 -55,1,80 -55,2,82 -55,3,78 -55,6,85 -55,9,80 -56,1,40 -56,2,80 -56,3,35 -56,6,70 -56,9,35 -57,1,65 -57,2,105 -57,3,60 -57,6,95 -57,9,60 -58,1,55 -58,2,70 -58,3,45 -58,6,60 -58,9,50 -59,1,90 -59,2,110 -59,3,80 -59,6,95 -59,9,80 -60,1,40 -60,2,50 -60,3,40 -60,6,90 -60,9,40 -61,1,65 -61,2,65 -61,3,65 -61,6,90 -61,9,50 -62,1,90 -62,2,85 -62,3,95 -62,6,70 -62,9,70 -63,1,25 -63,2,20 -63,3,15 -63,6,90 -63,9,105 -64,1,40 -64,2,35 -64,3,30 -64,6,105 -64,9,120 -65,1,55 -65,2,50 -65,3,45 -65,6,120 -65,9,135 -66,1,70 -66,2,80 -66,3,50 -66,6,35 -66,9,35 -67,1,80 -67,2,100 -67,3,70 -67,6,45 -67,9,50 -68,1,90 -68,2,130 -68,3,80 -68,6,55 -68,9,65 -69,1,50 -69,2,75 -69,3,35 -69,6,40 -69,9,70 -70,1,65 -70,2,90 -70,3,50 -70,6,55 -70,9,85 -71,1,80 -71,2,105 -71,3,65 -71,6,70 -71,9,100 -72,1,40 -72,2,40 -72,3,35 -72,6,70 -72,9,100 -73,1,80 -73,2,70 -73,3,65 -73,6,100 -73,9,120 -74,1,40 -74,2,80 -74,3,100 -74,6,20 -74,9,30 -75,1,55 -75,2,95 -75,3,115 -75,6,35 -75,9,45 -76,1,80 -76,2,110 -76,3,130 -76,6,45 -76,9,55 -77,1,50 -77,2,85 -77,3,55 -77,6,90 -77,9,65 -78,1,65 -78,2,100 -78,3,70 -78,6,105 -78,9,80 -79,1,90 -79,2,65 -79,3,65 -79,6,15 -79,9,40 -80,1,95 -80,2,75 -80,3,110 -80,6,30 -80,9,80 -81,1,25 -81,2,35 -81,3,70 -81,6,45 -81,9,95 -82,1,50 -82,2,60 -82,3,95 -82,6,70 -82,9,120 -83,1,52 -83,2,65 -83,3,55 -83,6,60 -83,9,58 -84,1,35 -84,2,85 -84,3,45 -84,6,75 -84,9,35 -85,1,60 -85,2,110 -85,3,70 -85,6,100 -85,9,60 -86,1,65 -86,2,45 -86,3,55 -86,6,45 -86,9,70 -87,1,90 -87,2,70 -87,3,80 -87,6,70 -87,9,95 -88,1,80 -88,2,80 -88,3,50 -88,6,25 -88,9,40 -89,1,105 -89,2,105 -89,3,75 -89,6,50 -89,9,65 -90,1,30 -90,2,65 -90,3,100 -90,6,40 -90,9,45 -91,1,50 -91,2,95 -91,3,180 -91,6,70 -91,9,85 -92,1,30 -92,2,35 -92,3,30 -92,6,80 -92,9,100 -93,1,45 -93,2,50 -93,3,45 -93,6,95 -93,9,115 -94,1,60 -94,2,65 -94,3,60 -94,6,110 -94,9,130 -95,1,35 -95,2,45 -95,3,160 -95,6,70 -95,9,30 -96,1,60 -96,2,48 -96,3,45 -96,6,42 -96,9,90 -97,1,85 -97,2,73 -97,3,70 -97,6,67 -97,9,115 -98,1,30 -98,2,105 -98,3,90 -98,6,50 -98,9,25 -99,1,55 -99,2,130 -99,3,115 -99,6,75 -99,9,50 -100,1,40 -100,2,30 -100,3,50 -100,6,100 -100,9,55 -101,1,60 -101,2,50 -101,3,70 -101,6,140 -101,9,80 -102,1,60 -102,2,40 -102,3,80 -102,6,40 -102,9,60 -103,1,95 -103,2,95 -103,3,85 -103,6,55 -103,9,125 -104,1,50 -104,2,50 -104,3,95 -104,6,35 -104,9,40 -105,1,60 -105,2,80 -105,3,110 -105,6,45 -105,9,50 -106,1,50 -106,2,120 -106,3,53 -106,6,87 -106,9,35 -107,1,50 -107,2,105 -107,3,79 -107,6,76 -107,9,35 -108,1,90 -108,2,55 -108,3,75 -108,6,30 -108,9,60 -109,1,40 -109,2,65 -109,3,95 -109,6,35 -109,9,60 -110,1,65 -110,2,90 -110,3,120 -110,6,60 -110,9,85 -111,1,80 -111,2,85 -111,3,95 -111,6,25 -111,9,30 -112,1,105 -112,2,130 -112,3,120 -112,6,40 -112,9,45 -113,1,250 -113,2,5 -113,3,5 -113,6,50 -113,9,105 -114,1,65 -114,2,55 -114,3,115 -114,6,60 -114,9,100 -115,1,105 -115,2,95 -115,3,80 -115,6,90 -115,9,40 -116,1,30 -116,2,40 -116,3,70 -116,6,60 -116,9,70 -117,1,55 -117,2,65 -117,3,95 -117,6,85 -117,9,95 -118,1,45 -118,2,67 -118,3,60 -118,6,63 -118,9,50 -119,1,80 -119,2,92 -119,3,65 -119,6,68 -119,9,80 -120,1,30 -120,2,45 -120,3,55 -120,6,85 -120,9,70 -121,1,60 -121,2,75 -121,3,85 -121,6,115 -121,9,100 -122,1,40 -122,2,45 -122,3,65 -122,6,90 -122,9,100 -123,1,70 -123,2,110 -123,3,80 -123,6,105 -123,9,55 -124,1,65 -124,2,50 -124,3,35 -124,6,95 -124,9,95 -125,1,65 -125,2,83 -125,3,57 -125,6,105 -125,9,85 -126,1,65 -126,2,95 -126,3,57 -126,6,93 -126,9,85 -127,1,65 -127,2,125 -127,3,100 -127,6,85 -127,9,55 -128,1,75 -128,2,100 -128,3,95 -128,6,110 -128,9,70 -129,1,20 -129,2,10 -129,3,55 -129,6,80 -129,9,20 -130,1,95 -130,2,125 -130,3,79 -130,6,81 -130,9,100 -131,1,130 -131,2,85 -131,3,80 -131,6,60 -131,9,95 -132,1,48 -132,2,48 -132,3,48 -132,6,48 -132,9,48 -133,1,55 -133,2,55 -133,3,50 -133,6,55 -133,9,65 -134,1,130 -134,2,65 -134,3,60 -134,6,65 -134,9,110 -135,1,65 -135,2,65 -135,3,60 -135,6,130 -135,9,110 -136,1,65 -136,2,130 -136,3,60 -136,6,65 -136,9,110 -137,1,65 -137,2,60 -137,3,70 -137,6,40 -137,9,75 -138,1,35 -138,2,40 -138,3,100 -138,6,35 -138,9,90 -139,1,70 -139,2,60 -139,3,125 -139,6,55 -139,9,115 -140,1,30 -140,2,80 -140,3,90 -140,6,55 -140,9,45 -141,1,60 -141,2,115 -141,3,105 -141,6,80 -141,9,70 -142,1,80 -142,2,105 -142,3,65 -142,6,130 -142,9,60 -143,1,160 -143,2,110 -143,3,65 -143,6,30 -143,9,65 -144,1,90 -144,2,85 -144,3,100 -144,6,85 -144,9,125 -145,1,90 -145,2,90 -145,3,85 -145,6,100 -145,9,125 -146,1,90 -146,2,100 -146,3,90 -146,6,90 -146,9,125 -147,1,41 -147,2,64 -147,3,45 -147,6,50 -147,9,50 -148,1,61 -148,2,84 -148,3,65 -148,6,70 -148,9,70 -149,1,91 -149,2,134 -149,3,95 -149,6,80 -149,9,100 -150,1,106 -150,2,110 -150,3,90 -150,6,130 -150,9,154 -151,1,100 -151,2,100 -151,3,100 -151,6,100 -151,9,100 diff --git a/data/v2/csv/stats.csv b/data/v2/csv/stats.csv index a2104dd9d..56a771d09 100644 --- a/data/v2/csv/stats.csv +++ b/data/v2/csv/stats.csv @@ -7,4 +7,3 @@ id,damage_class_id,identifier,is_battle_only,game_index 6,,speed,0,4 7,,accuracy,1, 8,,evasion,1, -9,3,special,0,7 diff --git a/pokemon_v2/migrations/0026_pokemonstatoriginal.py b/pokemon_v2/migrations/0026_pokemonstatoriginal.py deleted file mode 100644 index 5fb75facf..000000000 --- a/pokemon_v2/migrations/0026_pokemonstatoriginal.py +++ /dev/null @@ -1,52 +0,0 @@ -# Generated by Django 4.2.27 on 2026-01-25 16:21 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("pokemon_v2", "0025_pokemonstatpast"), - ] - - operations = [ - migrations.CreateModel( - name="PokemonStatOriginal", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("base_stat", models.IntegerField()), - ( - "pokemon", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - ( - "stat", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.stat", - ), - ), - ], - options={ - "abstract": False, - }, - ), - ] diff --git a/pokemon_v2/models.py b/pokemon_v2/models.py index 04914c7e1..5fd7c2ae5 100644 --- a/pokemon_v2/models.py +++ b/pokemon_v2/models.py @@ -1822,10 +1822,6 @@ class PokemonStatPast(HasPokemon, HasStat, HasGeneration): effort = models.IntegerField() -class PokemonStatOriginal(HasPokemon, HasStat): - base_stat = models.IntegerField() - - class PokemonType(HasPokemon, HasType): slot = models.IntegerField() diff --git a/pokemon_v2/serializers.py b/pokemon_v2/serializers.py index ed9d1d0e3..636cdb20f 100644 --- a/pokemon_v2/serializers.py +++ b/pokemon_v2/serializers.py @@ -4327,14 +4327,6 @@ class Meta: fields = ("base_stat", "effort", "generation", "stat") -class PokemonStatOriginalSerializer(serializers.ModelSerializer): - stat = StatSummarySerializer() - - class Meta: - model = PokemonStatOriginal - fields = ("base_stat", "stat") - - ######################### # POKEMON SERIALIZERS # ######################### @@ -4358,9 +4350,6 @@ class PokemonDetailSerializer(serializers.ModelSerializer): species = PokemonSpeciesSummarySerializer(source="pokemon_species") stats = PokemonStatSerializer(many=True, read_only=True, source="pokemonstat") past_stats = serializers.SerializerMethodField("get_past_pokemon_stats") - original_stats = PokemonStatOriginalSerializer( - many=True, read_only=True, source="pokemonstatoriginal" - ) types = serializers.SerializerMethodField("get_pokemon_types") past_types = serializers.SerializerMethodField("get_past_pokemon_types") forms = PokemonFormSummarySerializer( @@ -4393,7 +4382,6 @@ class Meta: "cries", "stats", "past_stats", - "original_stats", "types", "past_types", ) diff --git a/pokemon_v2/tests.py b/pokemon_v2/tests.py index b41d4805e..6bed79fcd 100644 --- a/pokemon_v2/tests.py +++ b/pokemon_v2/tests.py @@ -1671,19 +1671,6 @@ def setup_pokemon_past_stat_data(cls, pokemon, generation, base_stat=10, effort= return pokemon_stat_past - @classmethod - def setup_pokemon_original_stat_data(cls, pokemon, base_stat=10): - stat = cls.setup_stat_data(name="stt for pkmn") - - pokemon_stat_original = PokemonStatOriginal( - pokemon=pokemon, - stat=stat, - base_stat=base_stat, - ) - pokemon_stat_original.save() - - return pokemon_stat_original - @classmethod def setup_pokemon_type_data(cls, pokemon, type=None, slot=1): type = type or cls.setup_type_data(name="tp for pkmn") @@ -4935,7 +4922,6 @@ def test_pokemon_api(self): pokemon_past_stat = self.setup_pokemon_past_stat_data( pokemon=pokemon, generation=generation ) - pokemon_original_stat = self.setup_pokemon_original_stat_data(pokemon=pokemon) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation @@ -5084,19 +5070,6 @@ def test_pokemon_api(self): past_stats_stats_obj["stat"]["url"], "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_past_stat.stat.pk), ) - # original stat params - self.assertEqual( - response.data["original_stats"][0]["base_stat"], - pokemon_original_stat.base_stat, - ) - self.assertEqual( - response.data["original_stats"][0]["stat"]["name"], - pokemon_original_stat.stat.name, - ) - self.assertEqual( - response.data["original_stats"][0]["stat"]["url"], - "{}{}/stat/{}/".format(TEST_HOST, API_V2, pokemon_original_stat.stat.pk), - ) # type params self.assertEqual(response.data["types"][0]["slot"], pokemon_type.slot) self.assertEqual( @@ -5790,7 +5763,6 @@ def test_case_insensitive_api(self): pokemon_past_stat = self.setup_pokemon_past_stat_data( pokemon=pokemon, generation=generation ) - pokemon_original_stat = self.setup_pokemon_original_stat_data(pokemon=pokemon) pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon) pokemon_past_type = self.setup_pokemon_past_type_data( pokemon=pokemon, generation=generation From 7b0e9f796f31a0cd97a262f3997ef939a488936d Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Mon, 26 Jan 2026 09:26:31 -0600 Subject: [PATCH 11/13] refactor: re-add new 'special' stat and add data from original stats to past stats --- data/v2/csv/pokemon_stats_past.csv | 151 +++++++++++++++++++++++++++++ data/v2/csv/stats.csv | 1 + 2 files changed, 152 insertions(+) diff --git a/data/v2/csv/pokemon_stats_past.csv b/data/v2/csv/pokemon_stats_past.csv index 327cc02cc..6674f66f5 100644 --- a/data/v2/csv/pokemon_stats_past.csv +++ b/data/v2/csv/pokemon_stats_past.csv @@ -1,4 +1,155 @@ pokemon_id,generation_id,stat_id,base_stat,effort +1,1,9,65,0 +2,1,9,80,0 +3,1,9,100,0 +4,1,9,50,0 +5,1,9,65,0 +6,1,9,85,0 +7,1,9,50,0 +8,1,9,65,0 +9,1,9,85,0 +10,1,9,20,0 +11,1,9,25,0 +12,1,9,80,0 +13,1,9,20,0 +14,1,9,25,0 +15,1,9,45,0 +16,1,9,35,0 +17,1,9,50,0 +18,1,9,70,0 +19,1,9,25,0 +20,1,9,50,0 +21,1,9,31,0 +22,1,9,61,0 +23,1,9,40,0 +24,1,9,65,0 +25,1,9,50,0 +26,1,9,90,0 +27,1,9,30,0 +28,1,9,55,0 +29,1,9,40,0 +30,1,9,55,0 +31,1,9,75,0 +32,1,9,40,0 +33,1,9,55,0 +34,1,9,75,0 +35,1,9,60,0 +36,1,9,85,0 +37,1,9,65,0 +38,1,9,100,0 +39,1,9,25,0 +40,1,9,50,0 +41,1,9,40,0 +42,1,9,75,0 +43,1,9,75,0 +44,1,9,85,0 +45,1,9,100,0 +46,1,9,55,0 +47,1,9,80,0 +48,1,9,40,0 +49,1,9,90,0 +50,1,9,45,0 +51,1,9,70,0 +52,1,9,40,0 +53,1,9,65,0 +54,1,9,50,0 +55,1,9,80,0 +56,1,9,35,0 +57,1,9,60,0 +58,1,9,50,0 +59,1,9,80,0 +60,1,9,40,0 +61,1,9,50,0 +62,1,9,70,0 +63,1,9,105,0 +64,1,9,120,0 +65,1,9,135,0 +66,1,9,35,0 +67,1,9,50,0 +68,1,9,65,0 +69,1,9,70,0 +70,1,9,85,0 +71,1,9,100,0 +72,1,9,100,0 +73,1,9,120,0 +74,1,9,30,0 +75,1,9,45,0 +76,1,9,55,0 +77,1,9,65,0 +78,1,9,80,0 +79,1,9,40,0 +80,1,9,80,0 +81,1,9,95,0 +82,1,9,120,0 +83,1,9,58,0 +84,1,9,35,0 +85,1,9,60,0 +86,1,9,70,0 +87,1,9,95,0 +88,1,9,40,0 +89,1,9,65,0 +90,1,9,45,0 +91,1,9,85,0 +92,1,9,100,0 +93,1,9,115,0 +94,1,9,130,0 +95,1,9,30,0 +96,1,9,90,0 +97,1,9,115,0 +98,1,9,25,0 +99,1,9,50,0 +100,1,9,55,0 +101,1,9,80,0 +102,1,9,60,0 +103,1,9,125,0 +104,1,9,40,0 +105,1,9,50,0 +106,1,9,35,0 +107,1,9,35,0 +108,1,9,60,0 +109,1,9,60,0 +110,1,9,85,0 +111,1,9,30,0 +112,1,9,45,0 +113,1,9,105,0 +114,1,9,100,0 +115,1,9,40,0 +116,1,9,70,0 +117,1,9,95,0 +118,1,9,50,0 +119,1,9,80,0 +120,1,9,70,0 +121,1,9,100,0 +122,1,9,100,0 +123,1,9,55,0 +124,1,9,95,0 +125,1,9,85,0 +126,1,9,85,0 +127,1,9,55,0 +128,1,9,70,0 +129,1,9,20,0 +130,1,9,100,0 +131,1,9,95,0 +132,1,9,48,0 +133,1,9,65,0 +134,1,9,110,0 +135,1,9,110,0 +136,1,9,110,0 +137,1,9,75,0 +138,1,9,90,0 +139,1,9,115,0 +140,1,9,45,0 +141,1,9,70,0 +142,1,9,60,0 +143,1,9,65,0 +144,1,9,125,0 +145,1,9,125,0 +146,1,9,125,0 +147,1,9,50,0 +148,1,9,70,0 +149,1,9,100,0 +150,1,9,154,0 +151,1,9,100,0 193,3,6,95,2 200,3,4,85,1 242,3,1,255,2 diff --git a/data/v2/csv/stats.csv b/data/v2/csv/stats.csv index 56a771d09..a2104dd9d 100644 --- a/data/v2/csv/stats.csv +++ b/data/v2/csv/stats.csv @@ -7,3 +7,4 @@ id,damage_class_id,identifier,is_battle_only,game_index 6,,speed,0,4 7,,accuracy,1, 8,,evasion,1, +9,3,special,0,7 From 91054b2d8f84af0b47021ed9f4eb4367a538886f Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Mon, 26 Jan 2026 16:09:02 -0600 Subject: [PATCH 12/13] fix: re-create migration files using Django 5 --- ...on_alter_abilitychange_ability_and_more.py | 1082 ++++++++++++++++- pokemon_v2/migrations/0025_pokemonstatpast.py | 6 +- 2 files changed, 1083 insertions(+), 5 deletions(-) diff --git a/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py b/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py index bb2771509..495cfe43e 100644 --- a/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py +++ b/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py @@ -1,7 +1,7 @@ -# Generated by Django 4.2.27 on 2026-01-24 22:10 +# Generated by Django 5.2.10 on 2026-01-26 22:00 -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): @@ -22,6 +22,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="ability", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilitychange", name="ability", @@ -33,6 +40,13 @@ class Migration(migrations.Migration): to="pokemon_v2.ability", ), ), + migrations.AlterField( + model_name="abilitychange", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilitychange", name="version_group", @@ -55,6 +69,13 @@ class Migration(migrations.Migration): to="pokemon_v2.abilitychange", ), ), + migrations.AlterField( + model_name="abilitychangeeffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilitychangeeffecttext", name="language", @@ -77,6 +98,13 @@ class Migration(migrations.Migration): to="pokemon_v2.ability", ), ), + migrations.AlterField( + model_name="abilityeffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilityeffecttext", name="language", @@ -99,6 +127,13 @@ class Migration(migrations.Migration): to="pokemon_v2.ability", ), ), + migrations.AlterField( + model_name="abilityflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilityflavortext", name="language", @@ -132,6 +167,13 @@ class Migration(migrations.Migration): to="pokemon_v2.ability", ), ), + migrations.AlterField( + model_name="abilityname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="abilityname", name="language", @@ -154,6 +196,13 @@ class Migration(migrations.Migration): to="pokemon_v2.berryfirmness", ), ), + migrations.AlterField( + model_name="berry", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berry", name="item", @@ -176,6 +225,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="berryfirmness", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berryfirmnessname", name="berry_firmness", @@ -187,6 +243,13 @@ class Migration(migrations.Migration): to="pokemon_v2.berryfirmness", ), ), + migrations.AlterField( + model_name="berryfirmnessname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berryfirmnessname", name="language", @@ -209,6 +272,13 @@ class Migration(migrations.Migration): to="pokemon_v2.contesttype", ), ), + migrations.AlterField( + model_name="berryflavor", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berryflavormap", name="berry", @@ -231,6 +301,13 @@ class Migration(migrations.Migration): to="pokemon_v2.berryflavor", ), ), + migrations.AlterField( + model_name="berryflavormap", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berryflavorname", name="berry_flavor", @@ -242,6 +319,13 @@ class Migration(migrations.Migration): to="pokemon_v2.berryflavor", ), ), + migrations.AlterField( + model_name="berryflavorname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="berryflavorname", name="language", @@ -253,6 +337,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="characteristic", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="characteristic", name="stat", @@ -275,6 +366,13 @@ class Migration(migrations.Migration): to="pokemon_v2.characteristic", ), ), + migrations.AlterField( + model_name="characteristicdescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="characteristicdescription", name="language", @@ -286,6 +384,20 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="contestcombo", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="contesteffect", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="contesteffecteffecttext", name="contest_effect", @@ -297,6 +409,13 @@ class Migration(migrations.Migration): to="pokemon_v2.contesteffect", ), ), + migrations.AlterField( + model_name="contesteffecteffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="contesteffecteffecttext", name="language", @@ -319,6 +438,13 @@ class Migration(migrations.Migration): to="pokemon_v2.contesteffect", ), ), + migrations.AlterField( + model_name="contesteffectflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="contesteffectflavortext", name="language", @@ -330,6 +456,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="contesttype", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="contesttypename", name="contest_type", @@ -341,6 +474,13 @@ class Migration(migrations.Migration): to="pokemon_v2.contesttype", ), ), + migrations.AlterField( + model_name="contesttypename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="contesttypename", name="language", @@ -352,6 +492,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="egggroup", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="egggroupname", name="egg_group", @@ -363,6 +510,13 @@ class Migration(migrations.Migration): to="pokemon_v2.egggroup", ), ), + migrations.AlterField( + model_name="egggroupname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="egggroupname", name="language", @@ -374,6 +528,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="encounter", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounter", name="location_area", @@ -407,6 +568,13 @@ class Migration(migrations.Migration): to="pokemon_v2.version", ), ), + migrations.AlterField( + model_name="encountercondition", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounterconditionname", name="encounter_condition", @@ -418,6 +586,13 @@ class Migration(migrations.Migration): to="pokemon_v2.encountercondition", ), ), + migrations.AlterField( + model_name="encounterconditionname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounterconditionname", name="language", @@ -440,6 +615,20 @@ class Migration(migrations.Migration): to="pokemon_v2.encountercondition", ), ), + migrations.AlterField( + model_name="encounterconditionvalue", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="encounterconditionvaluemap", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounterconditionvaluename", name="encounter_condition_value", @@ -451,6 +640,13 @@ class Migration(migrations.Migration): to="pokemon_v2.encounterconditionvalue", ), ), + migrations.AlterField( + model_name="encounterconditionvaluename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounterconditionvaluename", name="language", @@ -462,6 +658,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="encountermethod", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encountermethodname", name="encounter_method", @@ -473,6 +676,13 @@ class Migration(migrations.Migration): to="pokemon_v2.encountermethod", ), ), + migrations.AlterField( + model_name="encountermethodname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encountermethodname", name="language", @@ -495,6 +705,13 @@ class Migration(migrations.Migration): to="pokemon_v2.encountermethod", ), ), + migrations.AlterField( + model_name="encounterslot", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="encounterslot", name="version_group", @@ -506,6 +723,20 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="evolutionchain", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="evolutiontrigger", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="evolutiontriggername", name="evolution_trigger", @@ -517,6 +748,13 @@ class Migration(migrations.Migration): to="pokemon_v2.evolutiontrigger", ), ), + migrations.AlterField( + model_name="evolutiontriggername", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="evolutiontriggername", name="language", @@ -539,6 +777,27 @@ class Migration(migrations.Migration): to="pokemon_v2.growthrate", ), ), + migrations.AlterField( + model_name="experience", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="gender", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="generation", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="generation", name="region", @@ -561,6 +820,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="generationname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="generationname", name="language", @@ -572,6 +838,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="growthrate", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="growthratedescription", name="growth_rate", @@ -583,6 +856,13 @@ class Migration(migrations.Migration): to="pokemon_v2.growthrate", ), ), + migrations.AlterField( + model_name="growthratedescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="growthratedescription", name="language", @@ -594,6 +874,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="item", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="item", name="item_category", @@ -616,6 +903,20 @@ class Migration(migrations.Migration): to="pokemon_v2.itemflingeffect", ), ), + migrations.AlterField( + model_name="itemattribute", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="itemattributedescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemattributedescription", name="item_attribute", @@ -638,6 +939,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itemattributemap", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemattributemap", name="item", @@ -660,6 +968,13 @@ class Migration(migrations.Migration): to="pokemon_v2.itemattribute", ), ), + migrations.AlterField( + model_name="itemattributename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemattributename", name="item_attribute", @@ -682,6 +997,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itemcategory", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemcategory", name="item_pocket", @@ -693,6 +1015,13 @@ class Migration(migrations.Migration): to="pokemon_v2.itempocket", ), ), + migrations.AlterField( + model_name="itemcategoryname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemcategoryname", name="item_category", @@ -715,6 +1044,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itemeffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemeffecttext", name="item", @@ -737,6 +1073,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itemflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemflavortext", name="item", @@ -770,6 +1113,20 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="itemflingeffect", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="itemflingeffecteffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemflingeffecteffecttext", name="item_fling_effect", @@ -803,6 +1160,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="itemgameindex", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemgameindex", name="item", @@ -814,6 +1178,13 @@ class Migration(migrations.Migration): to="pokemon_v2.item", ), ), + migrations.AlterField( + model_name="itemname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemname", name="item", @@ -836,6 +1207,20 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itempocket", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="itempocketname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itempocketname", name="item_pocket", @@ -858,6 +1243,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="itemsprites", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="itemsprites", name="item", @@ -869,6 +1261,20 @@ class Migration(migrations.Migration): to="pokemon_v2.item", ), ), + migrations.AlterField( + model_name="language", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="languagename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="languagename", name="language", @@ -880,6 +1286,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="location", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="location", name="region", @@ -891,6 +1304,13 @@ class Migration(migrations.Migration): to="pokemon_v2.region", ), ), + migrations.AlterField( + model_name="locationarea", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="locationarea", name="location", @@ -913,6 +1333,13 @@ class Migration(migrations.Migration): to="pokemon_v2.encountermethod", ), ), + migrations.AlterField( + model_name="locationareaencounterrate", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="locationareaencounterrate", name="location_area", @@ -935,6 +1362,13 @@ class Migration(migrations.Migration): to="pokemon_v2.version", ), ), + migrations.AlterField( + model_name="locationareaname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="locationareaname", name="language", @@ -968,6 +1402,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="locationgameindex", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="locationgameindex", name="location", @@ -979,6 +1420,13 @@ class Migration(migrations.Migration): to="pokemon_v2.location", ), ), + migrations.AlterField( + model_name="locationname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="locationname", name="language", @@ -1012,6 +1460,13 @@ class Migration(migrations.Migration): to="pokemon_v2.growthrate", ), ), + migrations.AlterField( + model_name="machine", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="machine", name="item", @@ -1056,6 +1511,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="move", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="move", name="move_damage_class", @@ -1100,6 +1562,20 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="moveattribute", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="moveattributedescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveattributedescription", name="language", @@ -1111,6 +1587,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="moveattributemap", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveattributemap", name="move", @@ -1122,6 +1605,13 @@ class Migration(migrations.Migration): to="pokemon_v2.move", ), ), + migrations.AlterField( + model_name="moveattributename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveattributename", name="language", @@ -1133,6 +1623,20 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="movebattlestyle", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movebattlestylename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movebattlestylename", name="language", @@ -1155,6 +1659,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movebattlestyle", ), ), + migrations.AlterField( + model_name="movechange", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movechange", name="move", @@ -1188,6 +1699,20 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="movedamageclass", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movedamageclassdescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movedamageclassdescription", name="language", @@ -1210,6 +1735,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movedamageclass", ), ), + migrations.AlterField( + model_name="movedamageclassname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movedamageclassname", name="language", @@ -1232,6 +1764,20 @@ class Migration(migrations.Migration): to="pokemon_v2.movedamageclass", ), ), + migrations.AlterField( + model_name="moveeffect", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="moveeffectchange", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveeffectchange", name="version_group", @@ -1243,6 +1789,13 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="moveeffectchangeeffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveeffectchangeeffecttext", name="language", @@ -1265,6 +1818,13 @@ class Migration(migrations.Migration): to="pokemon_v2.moveeffectchange", ), ), + migrations.AlterField( + model_name="moveeffecteffecttext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveeffecteffecttext", name="language", @@ -1276,6 +1836,13 @@ class Migration(migrations.Migration): to="pokemon_v2.language", ), ), + migrations.AlterField( + model_name="moveflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="moveflavortext", name="language", @@ -1309,6 +1876,20 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="movelearnmethod", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movelearnmethoddescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movelearnmethoddescription", name="language", @@ -1331,6 +1912,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movelearnmethod", ), ), + migrations.AlterField( + model_name="movelearnmethodname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movelearnmethodname", name="language", @@ -1353,6 +1941,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movelearnmethod", ), ), + migrations.AlterField( + model_name="movemeta", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movemeta", name="move", @@ -1384,6 +1979,20 @@ class Migration(migrations.Migration): to="pokemon_v2.movemetacategory", ), ), + migrations.AlterField( + model_name="movemetaailment", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movemetaailmentname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movemetaailmentname", name="language", @@ -1406,6 +2015,20 @@ class Migration(migrations.Migration): to="pokemon_v2.movemetaailment", ), ), + migrations.AlterField( + model_name="movemetacategory", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movemetacategorydescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movemetacategorydescription", name="language", @@ -1428,6 +2051,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movemetacategory", ), ), + migrations.AlterField( + model_name="movemetastatchange", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movemetastatchange", name="move", @@ -1450,6 +2080,13 @@ class Migration(migrations.Migration): to="pokemon_v2.stat", ), ), + migrations.AlterField( + model_name="movename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movename", name="language", @@ -1472,6 +2109,20 @@ class Migration(migrations.Migration): to="pokemon_v2.move", ), ), + migrations.AlterField( + model_name="movetarget", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="movetargetdescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movetargetdescription", name="language", @@ -1494,6 +2145,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movetarget", ), ), + migrations.AlterField( + model_name="movetargetname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="movetargetname", name="language", @@ -1516,6 +2174,20 @@ class Migration(migrations.Migration): to="pokemon_v2.movetarget", ), ), + migrations.AlterField( + model_name="nature", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="naturebattlestylepreference", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="naturebattlestylepreference", name="move_battle_style", @@ -1538,6 +2210,13 @@ class Migration(migrations.Migration): to="pokemon_v2.nature", ), ), + migrations.AlterField( + model_name="naturename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="naturename", name="language", @@ -1560,6 +2239,13 @@ class Migration(migrations.Migration): to="pokemon_v2.nature", ), ), + migrations.AlterField( + model_name="naturepokeathlonstat", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="naturepokeathlonstat", name="nature", @@ -1582,6 +2268,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokeathlonstat", ), ), + migrations.AlterField( + model_name="palpark", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="palpark", name="pal_park_area", @@ -1604,6 +2297,20 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonspecies", ), ), + migrations.AlterField( + model_name="palparkarea", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="palparkareaname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="palparkareaname", name="language", @@ -1626,6 +2333,20 @@ class Migration(migrations.Migration): to="pokemon_v2.palparkarea", ), ), + migrations.AlterField( + model_name="pokeathlonstat", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="pokeathlonstatname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokeathlonstatname", name="language", @@ -1648,6 +2369,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokeathlonstat", ), ), + migrations.AlterField( + model_name="pokedex", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokedex", name="region", @@ -1659,6 +2387,13 @@ class Migration(migrations.Migration): to="pokemon_v2.region", ), ), + migrations.AlterField( + model_name="pokedexdescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokedexdescription", name="language", @@ -1681,6 +2416,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokedex", ), ), + migrations.AlterField( + model_name="pokedexname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokedexname", name="language", @@ -1703,6 +2445,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokedex", ), ), + migrations.AlterField( + model_name="pokedexversiongroup", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokedexversiongroup", name="pokedex", @@ -1725,6 +2474,13 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="pokemon", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemon", name="pokemon_species", @@ -1747,6 +2503,13 @@ class Migration(migrations.Migration): to="pokemon_v2.ability", ), ), + migrations.AlterField( + model_name="pokemonability", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonability", name="pokemon", @@ -1780,6 +2543,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="pokemonabilitypast", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonabilitypast", name="pokemon", @@ -1791,6 +2561,20 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemon", ), ), + migrations.AlterField( + model_name="pokemoncolor", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="pokemoncolorname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemoncolorname", name="language", @@ -1813,6 +2597,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemoncolor", ), ), + migrations.AlterField( + model_name="pokemoncries", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemoncries", name="pokemon", @@ -1824,6 +2615,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemon", ), ), + migrations.AlterField( + model_name="pokemondexnumber", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemondexnumber", name="pokedex", @@ -1857,6 +2655,13 @@ class Migration(migrations.Migration): to="pokemon_v2.egggroup", ), ), + migrations.AlterField( + model_name="pokemonegggroup", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonegggroup", name="pokemon_species", @@ -1890,6 +2695,20 @@ class Migration(migrations.Migration): to="pokemon_v2.gender", ), ), + migrations.AlterField( + model_name="pokemonevolution", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="pokemonform", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonform", name="pokemon", @@ -1912,6 +2731,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="pokemonformgeneration", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonformgeneration", name="pokemon_form", @@ -1923,6 +2749,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonform", ), ), + migrations.AlterField( + model_name="pokemonformname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonformname", name="language", @@ -1945,6 +2778,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonform", ), ), + migrations.AlterField( + model_name="pokemonformsprites", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonformsprites", name="pokemon_form", @@ -1956,6 +2796,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonform", ), ), + migrations.AlterField( + model_name="pokemonformtype", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonformtype", name="pokemon_form", @@ -1978,6 +2825,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="pokemongameindex", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemongameindex", name="pokemon", @@ -2000,6 +2854,20 @@ class Migration(migrations.Migration): to="pokemon_v2.version", ), ), + migrations.AlterField( + model_name="pokemonhabitat", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="pokemonhabitatname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonhabitatname", name="language", @@ -2022,6 +2890,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonhabitat", ), ), + migrations.AlterField( + model_name="pokemonitem", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonitem", name="item", @@ -2055,6 +2930,13 @@ class Migration(migrations.Migration): to="pokemon_v2.version", ), ), + migrations.AlterField( + model_name="pokemonmove", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonmove", name="move", @@ -2099,6 +2981,20 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="pokemonshape", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="pokemonshapename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonshapename", name="language", @@ -2132,6 +3028,13 @@ class Migration(migrations.Migration): to="pokemon_v2.growthrate", ), ), + migrations.AlterField( + model_name="pokemonspecies", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonspecies", name="pokemon_color", @@ -2165,6 +3068,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonshape", ), ), + migrations.AlterField( + model_name="pokemonspeciesdescription", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonspeciesdescription", name="language", @@ -2187,6 +3097,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonspecies", ), ), + migrations.AlterField( + model_name="pokemonspeciesflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonspeciesflavortext", name="language", @@ -2220,6 +3137,13 @@ class Migration(migrations.Migration): to="pokemon_v2.version", ), ), + migrations.AlterField( + model_name="pokemonspeciesname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonspeciesname", name="language", @@ -2242,6 +3166,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemonspecies", ), ), + migrations.AlterField( + model_name="pokemonsprites", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonsprites", name="pokemon", @@ -2253,6 +3184,13 @@ class Migration(migrations.Migration): to="pokemon_v2.pokemon", ), ), + migrations.AlterField( + model_name="pokemonstat", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemonstat", name="pokemon", @@ -2275,6 +3213,13 @@ class Migration(migrations.Migration): to="pokemon_v2.stat", ), ), + migrations.AlterField( + model_name="pokemontype", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemontype", name="pokemon", @@ -2308,6 +3253,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="pokemontypepast", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="pokemontypepast", name="pokemon", @@ -2330,6 +3282,20 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="region", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="regionname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="regionname", name="language", @@ -2352,6 +3318,13 @@ class Migration(migrations.Migration): to="pokemon_v2.region", ), ), + migrations.AlterField( + model_name="stat", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="stat", name="move_damage_class", @@ -2363,6 +3336,13 @@ class Migration(migrations.Migration): to="pokemon_v2.movedamageclass", ), ), + migrations.AlterField( + model_name="statname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="statname", name="language", @@ -2385,6 +3365,27 @@ class Migration(migrations.Migration): to="pokemon_v2.stat", ), ), + migrations.AlterField( + model_name="supercontestcombo", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="supercontesteffect", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="supercontesteffectflavortext", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="supercontesteffectflavortext", name="language", @@ -2418,6 +3419,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="type", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="type", name="move_damage_class", @@ -2440,6 +3448,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="typeefficacy", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="typeefficacy", name="target_type", @@ -2473,6 +3488,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="typeefficacypast", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="typeefficacypast", name="target_type", @@ -2495,6 +3517,13 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="typegameindex", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="typegameindex", name="type", @@ -2506,6 +3535,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="typename", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="typename", name="language", @@ -2528,6 +3564,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="typesprites", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="typesprites", name="type", @@ -2539,6 +3582,13 @@ class Migration(migrations.Migration): to="pokemon_v2.type", ), ), + migrations.AlterField( + model_name="version", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="version", name="version_group", @@ -2561,6 +3611,20 @@ class Migration(migrations.Migration): to="pokemon_v2.generation", ), ), + migrations.AlterField( + model_name="versiongroup", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + migrations.AlterField( + model_name="versiongroupmovelearnmethod", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="versiongroupmovelearnmethod", name="move_learn_method", @@ -2583,6 +3647,13 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="versiongroupregion", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="versiongroupregion", name="region", @@ -2605,6 +3676,13 @@ class Migration(migrations.Migration): to="pokemon_v2.versiongroup", ), ), + migrations.AlterField( + model_name="versionname", + name="id", + field=models.BigAutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), migrations.AlterField( model_name="versionname", name="language", diff --git a/pokemon_v2/migrations/0025_pokemonstatpast.py b/pokemon_v2/migrations/0025_pokemonstatpast.py index 5f1c1161c..61d460c7a 100644 --- a/pokemon_v2/migrations/0025_pokemonstatpast.py +++ b/pokemon_v2/migrations/0025_pokemonstatpast.py @@ -1,7 +1,7 @@ -# Generated by Django 4.2.27 on 2026-01-24 22:11 +# Generated by Django 5.2.10 on 2026-01-26 22:02 -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): @@ -19,7 +19,7 @@ class Migration(migrations.Migration): fields=[ ( "id", - models.AutoField( + models.BigAutoField( auto_created=True, primary_key=True, serialize=False, From 95bdea7a3f7b08cf85c6024a8e0ac3be4fa8da75 Mon Sep 17 00:00:00 2001 From: Justin Marquez Date: Wed, 28 Jan 2026 08:49:28 -0600 Subject: [PATCH 13/13] fix: update migrations to match main branch --- ...on_alter_abilitychange_ability_and_more.py | 3708 ----------------- pokemon_v2/migrations/0025_pokemonstatpast.py | 9 +- 2 files changed, 3 insertions(+), 3714 deletions(-) delete mode 100644 pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py diff --git a/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py b/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py deleted file mode 100644 index 495cfe43e..000000000 --- a/pokemon_v2/migrations/0024_alter_ability_generation_alter_abilitychange_ability_and_more.py +++ /dev/null @@ -1,3708 +0,0 @@ -# Generated by Django 5.2.10 on 2026-01-26 22:00 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("pokemon_v2", "0023_longer_description"), - ] - - operations = [ - migrations.AlterField( - model_name="ability", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="ability", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilitychange", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="abilitychange", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilitychange", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="abilitychangeeffecttext", - name="ability_change", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.abilitychange", - ), - ), - migrations.AlterField( - model_name="abilitychangeeffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilitychangeeffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="abilityeffecttext", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="abilityeffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilityeffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="abilityflavortext", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="abilityflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilityflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="abilityflavortext", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="abilityname", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="abilityname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="abilityname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="berry", - name="berry_firmness", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.berryfirmness", - ), - ), - migrations.AlterField( - model_name="berry", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berry", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="berry", - name="natural_gift_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="berryfirmness", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berryfirmnessname", - name="berry_firmness", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.berryfirmness", - ), - ), - migrations.AlterField( - model_name="berryfirmnessname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berryfirmnessname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="berryflavor", - name="contest_type", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesttype", - ), - ), - migrations.AlterField( - model_name="berryflavor", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berryflavormap", - name="berry", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.berry", - ), - ), - migrations.AlterField( - model_name="berryflavormap", - name="berry_flavor", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.berryflavor", - ), - ), - migrations.AlterField( - model_name="berryflavormap", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berryflavorname", - name="berry_flavor", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.berryflavor", - ), - ), - migrations.AlterField( - model_name="berryflavorname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="berryflavorname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="characteristic", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="characteristic", - name="stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.stat", - ), - ), - migrations.AlterField( - model_name="characteristicdescription", - name="characteristic", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.characteristic", - ), - ), - migrations.AlterField( - model_name="characteristicdescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="characteristicdescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="contestcombo", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesteffect", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesteffecteffecttext", - name="contest_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesteffect", - ), - ), - migrations.AlterField( - model_name="contesteffecteffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesteffecteffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="contesteffectflavortext", - name="contest_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesteffect", - ), - ), - migrations.AlterField( - model_name="contesteffectflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesteffectflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="contesttype", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesttypename", - name="contest_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesttype", - ), - ), - migrations.AlterField( - model_name="contesttypename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="contesttypename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="egggroup", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="egggroupname", - name="egg_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.egggroup", - ), - ), - migrations.AlterField( - model_name="egggroupname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="egggroupname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="encounter", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounter", - name="location_area", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.locationarea", - ), - ), - migrations.AlterField( - model_name="encounter", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="encounter", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - migrations.AlterField( - model_name="encountercondition", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterconditionname", - name="encounter_condition", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encountercondition", - ), - ), - migrations.AlterField( - model_name="encounterconditionname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterconditionname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="encounterconditionvalue", - name="encounter_condition", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encountercondition", - ), - ), - migrations.AlterField( - model_name="encounterconditionvalue", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterconditionvaluemap", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterconditionvaluename", - name="encounter_condition_value", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encounterconditionvalue", - ), - ), - migrations.AlterField( - model_name="encounterconditionvaluename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterconditionvaluename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="encountermethod", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encountermethodname", - name="encounter_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encountermethod", - ), - ), - migrations.AlterField( - model_name="encountermethodname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encountermethodname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="encounterslot", - name="encounter_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encountermethod", - ), - ), - migrations.AlterField( - model_name="encounterslot", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="encounterslot", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="evolutionchain", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="evolutiontrigger", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="evolutiontriggername", - name="evolution_trigger", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.evolutiontrigger", - ), - ), - migrations.AlterField( - model_name="evolutiontriggername", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="evolutiontriggername", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="experience", - name="growth_rate", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.growthrate", - ), - ), - migrations.AlterField( - model_name="experience", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="gender", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="generation", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="generation", - name="region", - field=models.OneToOneField( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.region", - ), - ), - migrations.AlterField( - model_name="generationname", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="generationname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="generationname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="growthrate", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="growthratedescription", - name="growth_rate", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.growthrate", - ), - ), - migrations.AlterField( - model_name="growthratedescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="growthratedescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="item", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="item", - name="item_category", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemcategory", - ), - ), - migrations.AlterField( - model_name="item", - name="item_fling_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemflingeffect", - ), - ), - migrations.AlterField( - model_name="itemattribute", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemattributedescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemattributedescription", - name="item_attribute", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemattribute", - ), - ), - migrations.AlterField( - model_name="itemattributedescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemattributemap", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemattributemap", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="itemattributemap", - name="item_attribute", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemattribute", - ), - ), - migrations.AlterField( - model_name="itemattributename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemattributename", - name="item_attribute", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemattribute", - ), - ), - migrations.AlterField( - model_name="itemattributename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemcategory", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemcategory", - name="item_pocket", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itempocket", - ), - ), - migrations.AlterField( - model_name="itemcategoryname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemcategoryname", - name="item_category", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemcategory", - ), - ), - migrations.AlterField( - model_name="itemcategoryname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemeffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemeffecttext", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="itemeffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemflavortext", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="itemflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemflavortext", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="itemflingeffect", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemflingeffecteffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemflingeffecteffecttext", - name="item_fling_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itemflingeffect", - ), - ), - migrations.AlterField( - model_name="itemflingeffecteffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemgameindex", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="itemgameindex", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemgameindex", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="itemname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemname", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="itemname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itempocket", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itempocketname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itempocketname", - name="item_pocket", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.itempocket", - ), - ), - migrations.AlterField( - model_name="itempocketname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="itemsprites", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="itemsprites", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="language", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="languagename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="languagename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="location", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="location", - name="region", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.region", - ), - ), - migrations.AlterField( - model_name="locationarea", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="locationarea", - name="location", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.location", - ), - ), - migrations.AlterField( - model_name="locationareaencounterrate", - name="encounter_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.encountermethod", - ), - ), - migrations.AlterField( - model_name="locationareaencounterrate", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="locationareaencounterrate", - name="location_area", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.locationarea", - ), - ), - migrations.AlterField( - model_name="locationareaencounterrate", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - migrations.AlterField( - model_name="locationareaname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="locationareaname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="locationareaname", - name="location_area", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.locationarea", - ), - ), - migrations.AlterField( - model_name="locationgameindex", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="locationgameindex", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="locationgameindex", - name="location", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.location", - ), - ), - migrations.AlterField( - model_name="locationname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="locationname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="locationname", - name="location", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.location", - ), - ), - migrations.AlterField( - model_name="machine", - name="growth_rate", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.growthrate", - ), - ), - migrations.AlterField( - model_name="machine", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="machine", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="move", - name="contest_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesteffect", - ), - ), - migrations.AlterField( - model_name="move", - name="contest_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.contesttype", - ), - ), - migrations.AlterField( - model_name="move", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="move", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="move", - name="move_damage_class", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movedamageclass", - ), - ), - migrations.AlterField( - model_name="move", - name="move_target", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movetarget", - ), - ), - migrations.AlterField( - model_name="move", - name="super_contest_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.supercontesteffect", - ), - ), - migrations.AlterField( - model_name="move", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="moveattribute", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveattributedescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveattributedescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="moveattributemap", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveattributemap", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="moveattributename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveattributename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movebattlestyle", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movebattlestylename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movebattlestylename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movebattlestylename", - name="move_battle_style", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movebattlestyle", - ), - ), - migrations.AlterField( - model_name="movechange", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movechange", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="movechange", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="movechange", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="movedamageclass", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movedamageclassdescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movedamageclassdescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movedamageclassdescription", - name="move_damage_class", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movedamageclass", - ), - ), - migrations.AlterField( - model_name="movedamageclassname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movedamageclassname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movedamageclassname", - name="move_damage_class", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movedamageclass", - ), - ), - migrations.AlterField( - model_name="moveeffect", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveeffectchange", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveeffectchange", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="moveeffectchangeeffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveeffectchangeeffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="moveeffectchangeeffecttext", - name="move_effect_change", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.moveeffectchange", - ), - ), - migrations.AlterField( - model_name="moveeffecteffecttext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveeffecteffecttext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="moveflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="moveflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="moveflavortext", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="moveflavortext", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="movelearnmethod", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movelearnmethoddescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movelearnmethoddescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movelearnmethoddescription", - name="move_learn_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movelearnmethod", - ), - ), - migrations.AlterField( - model_name="movelearnmethodname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movelearnmethodname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movelearnmethodname", - name="move_learn_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movelearnmethod", - ), - ), - migrations.AlterField( - model_name="movemeta", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemeta", - name="move", - field=models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="movemeta", - name="move_meta_ailment", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movemetaailment", - ), - ), - migrations.AlterField( - model_name="movemeta", - name="move_meta_category", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movemetacategory", - ), - ), - migrations.AlterField( - model_name="movemetaailment", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemetaailmentname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemetaailmentname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movemetaailmentname", - name="move_meta_ailment", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movemetaailment", - ), - ), - migrations.AlterField( - model_name="movemetacategory", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemetacategorydescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemetacategorydescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movemetacategorydescription", - name="move_meta_category", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movemetacategory", - ), - ), - migrations.AlterField( - model_name="movemetastatchange", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movemetastatchange", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="movemetastatchange", - name="stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.stat", - ), - ), - migrations.AlterField( - model_name="movename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movename", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="movetarget", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movetargetdescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movetargetdescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movetargetdescription", - name="move_target", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movetarget", - ), - ), - migrations.AlterField( - model_name="movetargetname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="movetargetname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="movetargetname", - name="move_target", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movetarget", - ), - ), - migrations.AlterField( - model_name="nature", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="naturebattlestylepreference", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="naturebattlestylepreference", - name="move_battle_style", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movebattlestyle", - ), - ), - migrations.AlterField( - model_name="naturebattlestylepreference", - name="nature", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.nature", - ), - ), - migrations.AlterField( - model_name="naturename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="naturename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="naturename", - name="nature", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.nature", - ), - ), - migrations.AlterField( - model_name="naturepokeathlonstat", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="naturepokeathlonstat", - name="nature", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.nature", - ), - ), - migrations.AlterField( - model_name="naturepokeathlonstat", - name="pokeathlon_stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokeathlonstat", - ), - ), - migrations.AlterField( - model_name="palpark", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="palpark", - name="pal_park_area", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.palparkarea", - ), - ), - migrations.AlterField( - model_name="palpark", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="palparkarea", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="palparkareaname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="palparkareaname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="palparkareaname", - name="pal_park_area", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.palparkarea", - ), - ), - migrations.AlterField( - model_name="pokeathlonstat", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokeathlonstatname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokeathlonstatname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokeathlonstatname", - name="pokeathlon_stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokeathlonstat", - ), - ), - migrations.AlterField( - model_name="pokedex", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokedex", - name="region", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.region", - ), - ), - migrations.AlterField( - model_name="pokedexdescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokedexdescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokedexdescription", - name="pokedex", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokedex", - ), - ), - migrations.AlterField( - model_name="pokedexname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokedexname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokedexname", - name="pokedex", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokedex", - ), - ), - migrations.AlterField( - model_name="pokedexversiongroup", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokedexversiongroup", - name="pokedex", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokedex", - ), - ), - migrations.AlterField( - model_name="pokedexversiongroup", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="pokemon", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemon", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonability", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="pokemonability", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonability", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonabilitypast", - name="ability", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.ability", - ), - ), - migrations.AlterField( - model_name="pokemonabilitypast", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="pokemonabilitypast", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonabilitypast", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemoncolor", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemoncolorname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemoncolorname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemoncolorname", - name="pokemon_color", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemoncolor", - ), - ), - migrations.AlterField( - model_name="pokemoncries", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemoncries", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemondexnumber", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemondexnumber", - name="pokedex", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokedex", - ), - ), - migrations.AlterField( - model_name="pokemondexnumber", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonegggroup", - name="egg_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.egggroup", - ), - ), - migrations.AlterField( - model_name="pokemonegggroup", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonegggroup", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonevolution", - name="evolution_trigger", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.evolutiontrigger", - ), - ), - migrations.AlterField( - model_name="pokemonevolution", - name="gender", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.gender", - ), - ), - migrations.AlterField( - model_name="pokemonevolution", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonform", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonform", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonformgeneration", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="pokemonformgeneration", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonformgeneration", - name="pokemon_form", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonform", - ), - ), - migrations.AlterField( - model_name="pokemonformname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonformname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonformname", - name="pokemon_form", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonform", - ), - ), - migrations.AlterField( - model_name="pokemonformsprites", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonformsprites", - name="pokemon_form", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonform", - ), - ), - migrations.AlterField( - model_name="pokemonformtype", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonformtype", - name="pokemon_form", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonform", - ), - ), - migrations.AlterField( - model_name="pokemonformtype", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="pokemongameindex", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemongameindex", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemongameindex", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - migrations.AlterField( - model_name="pokemonhabitat", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonhabitatname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonhabitatname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonhabitatname", - name="pokemon_habitat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonhabitat", - ), - ), - migrations.AlterField( - model_name="pokemonitem", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonitem", - name="item", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.item", - ), - ), - migrations.AlterField( - model_name="pokemonitem", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonitem", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - migrations.AlterField( - model_name="pokemonmove", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonmove", - name="move", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.move", - ), - ), - migrations.AlterField( - model_name="pokemonmove", - name="move_learn_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movelearnmethod", - ), - ), - migrations.AlterField( - model_name="pokemonmove", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonmove", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="pokemonshape", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonshapename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonshapename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="growth_rate", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.growthrate", - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="pokemon_color", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemoncolor", - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="pokemon_habitat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonhabitat", - ), - ), - migrations.AlterField( - model_name="pokemonspecies", - name="pokemon_shape", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonshape", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesdescription", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonspeciesdescription", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesdescription", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonspeciesflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesflavortext", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesflavortext", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonspeciesname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="pokemonspeciesname", - name="pokemon_species", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemonspecies", - ), - ), - migrations.AlterField( - model_name="pokemonsprites", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonsprites", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonstat", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemonstat", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemonstat", - name="stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.stat", - ), - ), - migrations.AlterField( - model_name="pokemontype", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemontype", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemontype", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="pokemontypepast", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="pokemontypepast", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="pokemontypepast", - name="pokemon", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.pokemon", - ), - ), - migrations.AlterField( - model_name="pokemontypepast", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="region", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="regionname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="regionname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="regionname", - name="region", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.region", - ), - ), - migrations.AlterField( - model_name="stat", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="stat", - name="move_damage_class", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movedamageclass", - ), - ), - migrations.AlterField( - model_name="statname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="statname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="statname", - name="stat", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.stat", - ), - ), - migrations.AlterField( - model_name="supercontestcombo", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="supercontesteffect", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="supercontesteffectflavortext", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="supercontesteffectflavortext", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="supercontesteffectflavortext", - name="super_contest_effect", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.supercontesteffect", - ), - ), - migrations.AlterField( - model_name="type", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="type", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="type", - name="move_damage_class", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movedamageclass", - ), - ), - migrations.AlterField( - model_name="typeefficacy", - name="damage_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_damage_type", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typeefficacy", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="typeefficacy", - name="target_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_target_type", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typeefficacypast", - name="damage_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_damage_type", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typeefficacypast", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="typeefficacypast", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="typeefficacypast", - name="target_type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_target_type", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typegameindex", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="typegameindex", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="typegameindex", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typename", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="typename", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="typename", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="typesprites", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="typesprites", - name="type", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.type", - ), - ), - migrations.AlterField( - model_name="version", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="version", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="versiongroup", - name="generation", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.generation", - ), - ), - migrations.AlterField( - model_name="versiongroup", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="versiongroupmovelearnmethod", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="versiongroupmovelearnmethod", - name="move_learn_method", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.movelearnmethod", - ), - ), - migrations.AlterField( - model_name="versiongroupmovelearnmethod", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="versiongroupregion", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="versiongroupregion", - name="region", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.region", - ), - ), - migrations.AlterField( - model_name="versiongroupregion", - name="version_group", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.versiongroup", - ), - ), - migrations.AlterField( - model_name="versionname", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="versionname", - name="language", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s_language", - to="pokemon_v2.language", - ), - ), - migrations.AlterField( - model_name="versionname", - name="version", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="%(class)s", - to="pokemon_v2.version", - ), - ), - ] diff --git a/pokemon_v2/migrations/0025_pokemonstatpast.py b/pokemon_v2/migrations/0025_pokemonstatpast.py index 61d460c7a..6eec3d545 100644 --- a/pokemon_v2/migrations/0025_pokemonstatpast.py +++ b/pokemon_v2/migrations/0025_pokemonstatpast.py @@ -1,4 +1,4 @@ -# Generated by Django 5.2.10 on 2026-01-26 22:02 +# Generated by Django 5.2.10 on 2026-01-28 14:47 import django.db.models.deletion from django.db import migrations, models @@ -7,10 +7,7 @@ class Migration(migrations.Migration): dependencies = [ - ( - "pokemon_v2", - "0024_alter_ability_generation_alter_abilitychange_ability_and_more", - ), + ("pokemon_v2", "0024_django5"), ] operations = [ @@ -19,7 +16,7 @@ class Migration(migrations.Migration): fields=[ ( "id", - models.BigAutoField( + models.AutoField( auto_created=True, primary_key=True, serialize=False,