MCPcopy
hub / github.com/PokeAPI/pokeapi / VersionGroupDetailSerializer

Class VersionGroupDetailSerializer

pokemon_v2/serializers.py:6091–6200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6089
6090
6091class VersionGroupDetailSerializer(serializers.ModelSerializer):
6092 generation = GenerationSummarySerializer()
6093 versions = VersionSummarySerializer(many=True, read_only=True, source="version")
6094 regions = serializers.SerializerMethodField("get_version_group_regions")
6095 move_learn_methods = serializers.SerializerMethodField("get_learn_methods")
6096 pokedexes = serializers.SerializerMethodField("get_version_groups_pokedexes")
6097
6098 class Meta:
6099 model = VersionGroup
6100 fields = (
6101 "id",
6102 "name",
6103 "order",
6104 "generation",
6105 "move_learn_methods",
6106 "pokedexes",
6107 "regions",
6108 "versions",
6109 )
6110
6111 @extend_schema_field(
6112 field={
6113 "type": "array",
6114 "items": {
6115 "type": "object",
6116 "required": ["name", "url"],
6117 "properties": {
6118 "name": {"type": "string", "examples": ["kanto"]},
6119 "url": {
6120 "type": "string",
6121 "format": "uri",
6122 "examples": ["https://pokeapi.co/api/v2/region/1/"],
6123 },
6124 },
6125 },
6126 }
6127 )
6128 def get_version_group_regions(self, obj):
6129 vg_regions = VersionGroupRegion.objects.filter(version_group=obj)
6130 data = VersionGroupRegionSerializer(
6131 vg_regions, many=True, context=self.context
6132 ).data
6133 regions = []
6134
6135 for region in data:
6136 regions.append(region["region"])
6137
6138 return regions
6139
6140 # "name": "level-up",
6141 # "url": "https://pokeapi.co/api/v2/move-learn-method/1/"
6142 @extend_schema_field(
6143 field={
6144 "type": "array",
6145 "items": {
6146 "type": "object",
6147 "required": ["name", "url"],
6148 "properties": {

Callers

nothing calls this directly

Tested by

no test coverage detected