Поиск документов API Django.. Поиск документов API Django.. django search api ajax

Поиск документов API Django.

Open in new window

Django API search

Создаем вьюху для поиска по переданному параметру.

from rest_framework import generics
class SerchDocumentList(generics.ListAPIView):
    serializer_class = DocumentSerializer
    def get_queryset(self):
        key = self.kwargs['key']
        return MainDocuments.objects.filter(search_field__contains=key)

Роутинг.

path('api/documents_search/<str:key>', SerchDocumentList.as_view()),

Доработка вью для поиска по нескольким словам.

from django.db.models import Q
@csrf_exempt
def search(request):
    cntx = {}
    key = request.POST['search_key']
    arrk = key.split(' ')
    q_objects = Q()
    for item in arrk:
        q_objects.add(Q(name_slug__contains=item), Q.AND)

    cntx['items'] = Subject.objects.filter(q_objects)
    return render(request,'search.html',cntx)

Other topics