如何使用Django Rest过滤器限制查询结果

Let*_*zee 9 python django django-filter django-rest-framework

我正在开发一个用它构建的api Django Rest Framework.我已经定义了几个model类,我还创建了一些过滤器来应用于指定的某些查询api-endpoints.

我正在尝试应用LIMIT,queryset但我宁愿不使用Django表示法Entry.objects.all()[:5].相反,我希望能够从与模型关联的过滤器内部应用限制.

直到现在我还没有找到任何解决方案.我想我应该找到一种方法来定义一个默认值的过滤器,这将导致不限制查询集,如果请求到达端点并包含类似的东西,?filter=10则查询集应该限制在前10个.

小智 5

您可以使用Django Rest Framework分页。通过pagination_class,LimitOffsetPagination您可以限制query_param中返回的条目数。

http://www.django-rest-framework.org/api-guide/pagination/