परीक्षण और त्रुटि के एक बहुत बाद, मैं सही संयोजन मिल गया है! यहां एक शुरुआत है। दृश्य serializers.py
class DotaSearchSerializer(serializers.Serializer):
text = serializers.CharField()
name = serializers.CharField()
quality = serializers.CharField()
type = serializers.CharField()
rarity = serializers.CharField()
hero = serializers.CharField()
image = serializers.CharField()
desc = serializers.CharField()
बनाएँ:: views.py
class DotaSearchViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
serializer_class = DotaSearchSerializer
permission_classes = (IsAuthenticated,)
authentication_classes = (SessionAuthentication, BasicAuthentication)
def get_queryset(self, *args, **kwargs):
request = self.request
queryset = EmptySearchQuerySet()
if request.GET.get('q') is not None:
query = request.GET.get('q')
queryset = SearchQuerySet().filter(content=query)
return queryset
कृपया ध्यान दें आप इनपुट को साफ और अन्य सुरक्षा जांच करने के लिए चाहते हो सकता है
एक serializer को परिभाषित करें ।
मार्ग यह: urls.py
router.register(r'search', api_views.DotaSearchViewSet, base_name='search')
इस अत्यंत उपयोगी था। धन्यवाद। क्या आप मुझे आउटपुट जेएसओएन में परिणाम गिनती जोड़ने के बारे में सलाह दे सकते हैं? –
Django REST Framework के लिए Haystack पर एक नज़र डालें: https://github.com/inonit/drf-haystack – Daviddd
आपको HayStack's SearchQuerySet प्राप्त करने से आपके आवश्यक परिणाम मिलते हैं? क्या हेस्टैक व्यू (खोज फ़ॉर्म के मामले में) का उपयोग करते समय यह वही तंत्र है या क्या कोई प्रदर्शन अंतर संभव है? –