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

有没有办法在 DRF 中执行此操作以用于我的 API?

先感谢您!

4

1 回答 1

1

当然,这就是过滤的目的。

Django REST framework 文档已经提供了类似的示例。查看http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-query-parameters了解详细实现。

于 2015-11-16T15:47:23.327 回答