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

Class MoveChangeSerializer

pokemon_v2/serializers.py:3155–3214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3153
3154
3155class MoveChangeSerializer(serializers.ModelSerializer):
3156 version_group = VersionGroupSummarySerializer()
3157 type = TypeSummarySerializer()
3158 effect_entries = serializers.SerializerMethodField("get_effects")
3159 effect_chance = serializers.IntegerField(source="move_effect_chance")
3160
3161 class Meta:
3162 model = MoveChange
3163 fields = (
3164 "accuracy",
3165 "power",
3166 "pp",
3167 "effect_chance",
3168 "effect_entries",
3169 "type",
3170 "version_group",
3171 )
3172
3173 @extend_schema_field(
3174 field={
3175 "type": "array",
3176 "items": {
3177 "type": "object",
3178 "required": ["effect", "short_effect", "language"],
3179 "properties": {
3180 "effect": {
3181 "type": "string",
3182 "examples": [
3183 "Inflicts [regular damage]{mechanic:regular-damage}."
3184 ],
3185 },
3186 "short_effect": {
3187 "type": "string",
3188 "examples": [
3189 "Inflicts regular damage with no additional effect."
3190 ],
3191 },
3192 "language": {
3193 "type": "object",
3194 "required": ["name", "url"],
3195 "properties": {
3196 "name": {"type": "string", "examples": ["en"]},
3197 "url": {
3198 "type": "string",
3199 "format": "uri",
3200 "examples": ["https://pokeapi.co/api/v2/language/9/"],
3201 },
3202 },
3203 },
3204 },
3205 },
3206 }
3207 )
3208 def get_effects(self, obj):
3209 effect_texts = MoveEffectEffectText.objects.filter(move_effect=obj.move_effect)
3210 data = MoveEffectEffectTextSerializer(
3211 effect_texts, many=True, context=self.context
3212 ).data

Callers 1

Tested by

no test coverage detected