MCPcopy Index your code
hub / github.com/PokeAPI/pokeapi / PokemonFormDetailSerializer

Class PokemonFormDetailSerializer

pokemon_v2/serializers.py:3823–4011  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3821
3822
3823class PokemonFormDetailSerializer(serializers.ModelSerializer):
3824 pokemon = PokemonSummarySerializer()
3825 version_group = VersionGroupSummarySerializer()
3826 sprites = serializers.SerializerMethodField("get_pokemon_form_sprites")
3827 form_names = serializers.SerializerMethodField("get_pokemon_form_names")
3828 names = serializers.SerializerMethodField("get_pokemon_form_pokemon_names")
3829 types = serializers.SerializerMethodField("get_pokemon_form_types")
3830
3831 class Meta:
3832 model = PokemonForm
3833 fields = (
3834 "id",
3835 "name",
3836 "order",
3837 "form_order",
3838 "is_default",
3839 "is_battle_only",
3840 "is_mega",
3841 "form_name",
3842 "pokemon",
3843 "sprites",
3844 "version_group",
3845 "form_names",
3846 "names",
3847 "types",
3848 )
3849
3850 @extend_schema_field(
3851 field={
3852 "type": "array",
3853 "items": {
3854 "type": "object",
3855 "required": ["language", "name"],
3856 "properties": {
3857 "language": {
3858 "type": "object",
3859 "required": ["name", "url"],
3860 "properties": {
3861 "name": {"type": "string", "examples": ["en"]},
3862 "url": {
3863 "type": "string",
3864 "format": "uri",
3865 "examples": ["https://pokeapi.co/api/v2/language/9/"],
3866 },
3867 },
3868 },
3869 "name": {"type": "string", "examples": ["Plant Cloak"]},
3870 },
3871 },
3872 }
3873 )
3874 def get_pokemon_form_names(self, obj):
3875 form_results = PokemonFormName.objects.filter(
3876 pokemon_form=obj, name__regex=".+"
3877 )
3878 form_serializer = PokemonFormNameSerializer(
3879 form_results, many=True, context=self.context
3880 )

Callers

nothing calls this directly

Tested by

no test coverage detected