2

DRF API に検索ビューを実装する方法はありますか? たとえば、サイトで次のコードを使用して、ユーザーが検索バーにキーワードを入力して結果を返せるようにしています。

class SearchListView(ListView):
    model = User
    template_name = 'search/results.html'

    def get_context_data(self, *args, **kwargs):
        context = super(SearchListView, self).get_context_data(*args, **kwargs)
        context['query'] = self.request.GET.get('q')
        return context

    def get_queryset(self, *args, **kwargs):
        user_qs = super(SearchListView, self).get_queryset(*args, **kwargs)
        query = self.request.GET.get('q')

        if query:
            user_qs = self.model.objects.filter(
                Q(username__icontains=query)
                )
        return user_qs

私のAPIに使用するためにDRFでこれを行う方法はありますか?

前もって感謝します!

4

1 に答える 1

1

確かに、これがフィルタリングの目的です。

Django REST フレームワークのドキュメントでは、同様の例が既に提供されています。詳細な実装については、 http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-query-parametersをご覧ください。

于 2015-11-16T15:47:23.327 に答える