使用DRF全局分页设置时碰到了一个小问题。

运行环境 Runtime environment

1
2
3
操作系统 : Ubuntu18.04
IDE: JetBrains pycharm 2018.2.4 x64
Python: 3.6

症状

1
2
3
WARNINGS:
?: (rest_framework.W001) You have specified a default PAGE_SIZE pagination rest_framework setting,without specifying also a DEFAULT_PAGINATION_CLASS.
HINT: The default for DEFAULT_PAGINATION_CLASS is None. In previous versions this was PageNumberPagination. If you wish to define PAGE_SIZE globally whilst defining pagination_class on a per-view basis you may silence this check.

解决办法

修改setting配置文件:

1
2
3
4
5
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser', ),
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', # 添加这一行解决,
'PAGE_SIZE': 10 # 默认page_size
}

总结

drf的全局分页设置简单粗暴,但是规矩中的东西,一样不能少呢。