SerializerMethodField и круговой импорт

Мне нужна помощь с REST Framework. Мне нужно сделать тест на должность стажера и у меня есть две модели с круговым импортом 'Pokemon' модель и 'Team' режим. В сериализаторе 'Team' у меня есть такой код

class TeamDetailsSerializer(ModelSerializer):
    """Serializer for details of Team instances"""

    pokemon_1 = SerializerMethodField()
    pokemon_2 = SerializerMethodField()
    pokemon_3 = SerializerMethodField()
    pokemon_4 = SerializerMethodField()
    pokemon_5 = SerializerMethodField()
    trainer = UserSerializer()

    class Meta:
        model = Team
        fields = (
            "trainer",
            "name",
            "pokemon_1",
            "pokemon_2",
            "pokemon_3",
            "pokemon_4",
            "pokemon_5",
        )
        read_only_fields = ("id",)

    # Methods to relate each Pokemon object
    def get_pokemon_1(self, obj):
        pokemon_1 = obj.pokemon_1
        if not pokemon_1:
            return None
        serializer = pokemon.serializers.PokemonDetailsSerializer(pokemon_1)
        return serializer.data
    
    def get_pokemon_2(self, obj):
        pokemon_2 = obj.pokemon_2
        if not pokemon_2:
            return None
        serializer = pokemon.serializers.PokemonDetailsSerializer(pokemon_2)
        return serializer.data
    
    def get_pokemon_3(self, obj):
        pokemon_3 = obj.pokemon_3
        if not pokemon_3:
            return None
        serializer = pokemon.serializers.PokemonDetailsSerializer(pokemon_3)
        return serializer.data
    
    def get_pokemon_4(self, obj):
        pokemon_4 = obj.pokemon_4
        if not pokemon_4:
            return None
        serializer = pokemon.serializers.PokemonDetailsSerializer(pokemon_4)
        return serializer.data
    
    def get_pokemon_5(self, obj):
        pokemon_5 = obj.pokemon_5
        if not pokemon_5:
            return None
        serializer = pokemon.serializers.PokemonDetailsSerializer(pokemon_5)
        return serializer.data

и проблема в том, что я получаю такую схему

name*   [...]
trainer*    User{...}
pokemon_1   integer
nullable: true
pokemon_2   [...]
pokemon_3   [...]
pokemon_4   [...]
pokemon_5   [...]

но я хотел бы получить тип объекта, какие решения я могу применить? Большое спасибо

Вернуться на верх