मैं अपने यहाँ कुछ विकल्प जोड़ना चाहता हूँ। किसी को आश्चर्य होगा कि urls.py में रास्ता कैसे तय किया जाए, जैसे कि
domain/search/?q=CA
ताकि हम क्वेरी आमंत्रित कर सकें।
तथ्य यह है कि urls.py में ऐसा मार्ग निर्धारित करना आवश्यक नहीं है। आपको जो सेट करने की आवश्यकता है वह केवल urls.py में मार्ग है
urlpatterns = [
path('domain/search/', views.CityListView.as_view()),
]
और जब आप http: // servername: port / domain / search /? q = CA इनपुट करते हैं । क्वेरी भाग '? Q = CA' स्वचालित रूप से हैश तालिका में आरक्षित होगा जिसे आप संदर्भ में दे सकते हैं
request.GET.get('q', None).
यहाँ एक उदाहरण है (view.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
इसके अलावा, जब आप Url में क्वेरी स्ट्रिंग लिखते हैं
http://servername:port/domain/search/?q=CA
उद्धरण स्ट्रिंग जैसे उद्धरण में न लपेटें
http://servername:port/domain/search/?q="CA"