| 3252 | |
| 3253 | |
| 3254 | class MoveDetailSerializer(serializers.ModelSerializer): |
| 3255 | generation = GenerationSummarySerializer() |
| 3256 | type = TypeSummarySerializer() |
| 3257 | target = MoveTargetSummarySerializer(source="move_target") |
| 3258 | contest_type = ContestTypeSummarySerializer() |
| 3259 | contest_effect = ContestEffectSummarySerializer() |
| 3260 | damage_class = MoveDamageClassSummarySerializer(source="move_damage_class") |
| 3261 | meta = MoveMetaSerializer(read_only=True, source="movemeta") |
| 3262 | names = MoveNameSerializer(many=True, read_only=True, source="movename") |
| 3263 | effect_entries = serializers.SerializerMethodField("get_effect_text") |
| 3264 | effect_chance = serializers.IntegerField(source="move_effect_chance") |
| 3265 | contest_combos = serializers.SerializerMethodField("get_combos") |
| 3266 | stat_changes = serializers.SerializerMethodField("get_move_stat_change") |
| 3267 | super_contest_effect = SuperContestEffectSummarySerializer() |
| 3268 | past_values = MoveChangeSerializer(many=True, read_only=True, source="movechange") |
| 3269 | effect_changes = serializers.SerializerMethodField("get_effect_change_text") |
| 3270 | machines = serializers.SerializerMethodField("get_move_machines") |
| 3271 | flavor_text_entries = MoveFlavorTextSerializer( |
| 3272 | many=True, read_only=True, source="moveflavortext" |
| 3273 | ) |
| 3274 | learned_by_pokemon = serializers.SerializerMethodField() |
| 3275 | |
| 3276 | class Meta: |
| 3277 | model = Move |
| 3278 | fields = ( |
| 3279 | "id", |
| 3280 | "name", |
| 3281 | "accuracy", |
| 3282 | "effect_chance", |
| 3283 | "pp", |
| 3284 | "priority", |
| 3285 | "power", |
| 3286 | "contest_combos", |
| 3287 | "contest_type", |
| 3288 | "contest_effect", |
| 3289 | "damage_class", |
| 3290 | "effect_entries", |
| 3291 | "effect_changes", |
| 3292 | "generation", |
| 3293 | "meta", |
| 3294 | "names", |
| 3295 | "past_values", |
| 3296 | "stat_changes", |
| 3297 | "super_contest_effect", |
| 3298 | "target", |
| 3299 | "type", |
| 3300 | "machines", |
| 3301 | "flavor_text_entries", |
| 3302 | "learned_by_pokemon", |
| 3303 | ) |
| 3304 | |
| 3305 | @extend_schema_field( |
| 3306 | field={ |
| 3307 | "type": "array", |
| 3308 | "items": { |
| 3309 | "type": "object", |
| 3310 | "required": ["name", "url"], |
| 3311 | "properties": { |
nothing calls this directly
no test coverage detected