목차
반응형
새로 알게 된 것
DRF에서 제공하는 Pagination
settings.py에서 간단하게 설정할 수 있다. settings.py에서 설정하면 전체적으로 적용된다.
view 별로 설정할 수도 있다.
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
}
DRF에서 제공하는 페이지네이션 중 PageNumberPagination을 사용했다. page_size를 10으로 지정해 한 요청 당 10개의 데이터를 반환하게 했다.
PageNumberPagination은 페이지 번호를 사용하여 결과를 페이지 별로 표시한다.
GET https://api.example.org/accounts/?page=4
다른 종류로는 LimitOffsetPagination이 있다.
limit과 offset 파라미터를 사용해 여러 레코드를 조회할 수 있다.
limit은 반환할 최대 항목 수로 위의 page_size와 동일하다. offset은 페이징되지 않은 전체 항목에 대해 쿼리의 시작 위치를 나타낸다.
GET https://api.example.org/accounts/?limit=100&offset=400
offset을 3으로 했을 때 다음과 같이 결과가 나온다. 그러면 offset 4로 했을 때는 id가 482인 항목이 제일 처음으로 와야 한다.
offset을 4로 했을 때 잘 나오는 것을 확인할 수 있다.
https://www.django-rest-framework.org/api-guide/pagination/
반응형
'기록 > TIL' 카테고리의 다른 글
[TIL] 231110 - 데브코스 26일차 (0) | 2023.11.10 |
---|---|
[TIL] 231109 - 데브코스 25일차 (0) | 2023.11.09 |
[TIL] 231107 - 데브코스 23일차 (5) | 2023.11.07 |
[TIL] 231102 - 데브코스 18일차 (0) | 2023.11.02 |
[TIL] 231101 - 데브코스 17일차 (1) | 2023.11.01 |