Я успешно перезаписываю все записи для конкретного объекта в Django.
Мой url.py равен path('city/', views.TestListCity.as_view())
От почтальона я просто получаю: http://192.168.99.100:8080/collection/city и он возвращает все записи.Пример:
{
"id": 3,
"name": "Bor",
"region": {
"id": 2,
"name": "Sun"
}
},
Теперь я хочу отфильтровать записи с именем столбца .
Я пробовал это:
urls.py
path('city/(?P<name>.+)/$', views.TestListCity.as_view()),
views.py
class TestListCity(generics.RetrieveAPIView):
serializer_class = TestListCitySerializer
def get_queryset(self):
name = self.kwargs['name']
return City.objects.filter(name=name)
Я пытаюсь GET:
http://192.168.99.100:8080/collection/city?name=Bor
Но тогда 404:
<title>Page not found at /collection/city</title>
Я также попробовал второй подход:
urls.py
path('city/<str:name>/', views.TestListCity.as_view())
views.py
class TestListCity(generics.RetrieveAPIView):
serializer_class = TestListCitySerializer
queryset = City.objects.all()
lookup_field = 'name'
Но точно такой же ответ.