The PokemonForm documentation describes is_default as
True for exactly one form used as the default for each Pokémon.
Of the 249 Pokémon with more than one form in pokemon.csv, 222 of them have more than one form with is_default set to True.
While the easiest fix would just be to purge these secondary is_default forms, I think that field should just be deprecated and replaced with a different method of determining the primary form. I have to imagine this field is not widely used by API consumers, as it would not work for its documented purpose.
My preferred design would be to simply have the form of the species with the first form ID be the primary form. It looks like there isn't strictly a form_id field, but it roughly corresponds to the form_order field. So my suggestion would be to just define that the form of the Pokémon with the smallest value in form_order is considered the default form.
The PokemonForm documentation describes
is_defaultasOf the 249 Pokémon with more than one form in
pokemon.csv, 222 of them have more than one form withis_defaultset to True.While the easiest fix would just be to purge these secondary
is_defaultforms, I think that field should just be deprecated and replaced with a different method of determining the primary form. I have to imagine this field is not widely used by API consumers, as it would not work for its documented purpose.My preferred design would be to simply have the form of the species with the first form ID be the primary form. It looks like there isn't strictly a
form_idfield, but it roughly corresponds to theform_orderfield. So my suggestion would be to just define that the form of the Pokémon with the smallest value inform_orderis considered the default form.