MCPcopy Create free account
hub / github.com/PokeAPI/pokeapi / get_combos

Method get_combos

pokemon_v2/serializers.py:3499–3554  ·  view source on GitHub ↗
(self, obj)

Source from the content-addressed store, hash-verified

3497 }
3498 )
3499 def get_combos(self, obj):
3500 normal_before_objects = ContestCombo.objects.filter(first_move=obj)
3501 normal_before_data = ContestComboSerializer(
3502 normal_before_objects, many=True, context=self.context
3503 ).data
3504 normal_after_objects = ContestCombo.objects.filter(second_move=obj)
3505 normal_after_data = ContestComboSerializer(
3506 normal_after_objects, many=True, context=self.context
3507 ).data
3508
3509 super_before_objects = SuperContestCombo.objects.filter(first_move=obj)
3510 super_before_data = SuperContestComboSerializer(
3511 super_before_objects, many=True, context=self.context
3512 ).data
3513 super_after_objects = SuperContestCombo.objects.filter(second_move=obj)
3514 super_after_data = SuperContestComboSerializer(
3515 super_after_objects, many=True, context=self.context
3516 ).data
3517
3518 details = None
3519
3520 if (
3521 normal_before_data
3522 or normal_after_data
3523 or super_before_data
3524 or super_after_data
3525 ):
3526 details = OrderedDict()
3527 details["normal"] = OrderedDict()
3528 details["normal"]["use_before"] = None
3529 details["normal"]["use_after"] = None
3530 details["super"] = OrderedDict()
3531 details["super"]["use_before"] = None
3532 details["super"]["use_after"] = None
3533
3534 for combo in normal_before_data:
3535 if details["normal"]["use_before"] is None:
3536 details["normal"]["use_before"] = []
3537 details["normal"]["use_before"].append(combo["second_move"])
3538
3539 for combo in normal_after_data:
3540 if details["normal"]["use_after"] is None:
3541 details["normal"]["use_after"] = []
3542 details["normal"]["use_after"].append(combo["first_move"])
3543
3544 for combo in super_before_data:
3545 if details["super"]["use_before"] is None:
3546 details["super"]["use_before"] = []
3547 details["super"]["use_before"].append(combo["second_move"])
3548
3549 for combo in super_after_data:
3550 if details["super"]["use_after"] is None:
3551 details["super"]["use_after"] = []
3552 details["super"]["use_after"].append(combo["first_move"])
3553
3554 return details
3555
3556 @extend_schema_field(

Callers

nothing calls this directly

Calls 2

Tested by

no test coverage detected