Chciałbym tutaj dodać opcję siebie. Ktoś mógłby się zastanawiać, jak ustawić ścieżkę w urls.py, na przykład
domain/search/?q=CA
abyśmy mogli wywołać zapytanie.
Faktem jest, że NIE jest konieczne ustawianie takiej trasy w urls.py. Musisz tylko ustawić trasę w urls.py
urlpatterns = [
path('domain/search/', views.CityListView.as_view()),
]
a kiedy wejście http: // nazwa_serwera: port / domena / search / q = Kalifornia . Część zapytania „? Q = CA” zostanie automatycznie zarezerwowana w tabeli skrótów, do której można się jednak odwoływać
request.GET.get('q', None).
Oto przykład (views.py)
class CityListView(generics.ListAPIView):
serializer_class = CityNameSerializer
def get_queryset(self):
if self.request.method == 'GET':
queryset = City.objects.all()
state_name = self.request.GET.get('q', None)
if state_name is not None:
queryset = queryset.filter(state__name=state_name)
return queryset
Ponadto podczas pisania ciągu zapytania w adresie URL
http://servername:port/domain/search/?q=CA
Nie zawijaj ciągu zapytania w cudzysłów, np
http://servername:port/domain/search/?q="CA"