带Django REST API的Angular 2/5智能表

时间:2018-01-17 17:01:29

标签: django angular django-rest-framework

我正在寻找一个访问Django REST API提供的API的智能表示例。 由于我的数据库非常大,因此进行服务器端分页和过滤非常重要。

我的API的JSON响应

{
    "count": 11512,
    "next": "http://127.0.0.1:8000/api/icd/?page=2",
    "previous": null,
    "results": [
        { ...

请帮我一点启动,好吗?

1 个答案:

答案 0 :(得分:0)

根据rest-framework文档,您可以在settings.py文件中设置分页样式:

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 100
}

您也可以设置分页类并将其设置为您的Views pagination_class属性:

class LargeResultsSetPagination(PageNumberPagination):
    page_size = 1000
    page_size_query_param = 'page_size'
    max_page_size = 10000

class StandardResultsSetPagination(PageNumberPagination):
    page_size = 100
    page_size_query_param = 'page_size'
    max_page_size = 1000

并查看:

class BillingRecordsView(generics.ListAPIView):
    queryset = Billing.objects.all()
    serializer_class = BillingRecordsSerializer
    pagination_class = LargeResultsSetPagination