django - Django Rest Framework分页不起作用
问题描述
这些是我的版本
Django==3.0.2
djangorestframework==3.11.0
这是我的设置
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 10
}
这是我的观点:
class CostList(ListCreateAPIView):
serializer_class = CostSerializers
def get_queryset(self):
cost = Cost.objects.filter(
id='filtered with one of my id'
)
return cost
这是我的序列化程序:
class CostSerializers(ModelSerializer):
class Meta:
model = Cost
fields = '__all__'
一切正常,但唯一的问题是分页。我在模型中有 100 多个条目,cost
我看到它正在一起渲染所有条目,而不是按照我的设置对项目进行分页
解决方案
class CostList(ListCreateAPIView):
serializer_class = CostSerializers
def get_queryset(self):
cost = Cost.objects.filter(id='filtered with one of my id')
return cost
def get(self, request, *args, **kwargs):
qs = self.get_queryset()
page = self.paginate_queryset(qs)
return self.get_paginated_response(page)
尝试这个。
推荐阅读
- tensorflow - 从 Tensorflow Hub 获取已保存模型中的节点连接
- keras - 何时使用 minmaxscaler 重新缩放输入数据(LSTM、KERAS)
- javascript - 为什么jQuery函数参数用[]后缀数组的元素
- javascript - React Native Elevation 阴影无法正常工作
- jenkins - 将环境变量从 Jenkins 文件传递/注入/引用到具有通用代码的共享库
- laravel - Laravel 验证以确保 2 个值不会同时存在
- laravel - composer 需要 laravel/framework 5.5.32 -> laravel/framework[v5.5.32] 可以满足
- ios - 如何获取与iOS设备连接的物理鼠标的当前位置?
- mysql - MySQL LEFT JOIN 未返回所需结果
- tensorflow - 在 Tensorflow 2 的 fit 方法中使用 Dataset 和 ndarray 有什么区别?