Показать определенные данные на основе параметра 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:
...