Показать определенные данные на основе параметра django

Привет всем у меня вопрос, я хочу показать информацию для конкретного покемона, когда я набираю его имя в url (например: http:/0.0.0.0:8000/pokemon/Pikachu) я могу показать всю информацию в модели, но не ту, которая принадлежит этому конкретному имени, как я могу это сделать?

Вот мое мнение

class PokemonView(APIView):
    """Pokemon API View"""

    def get(self, request):
        """Returns the pokemon information"""
        pokemon_info = Pokemon.objects.all()
        serializer = PokemonSerializer(pokemon_info, many=True)
        return Response(serializer.data)

А это - мой сериализатор

class PokemonSerializer(serializers.ModelSerializer):
    """Transform the pokemon data (model) into a json"""
    class Meta:
        model = Pokemon
        fields = '__all__'

Спасибо

Как насчет использования параметра get?

URL: http:/0.0.0.0/8000/pokemon/?name=Pikachu

Вы получите доступ к имени следующим образом:

class PokemonView(APIView):
    """Pokemon API View"""

    def get(self, request):
        """Returns the pokemon information"""

        # try to get the name:
        name = request.GET.get('name')

        # search for pokemon by name:
        if name:
            pokemon = Pokemon.objects.get(name=name)
            
            # return pokemon:
            ...

        # do something else:
        else:
            ...
Вернуться на верх