Dica 51 - DRF: paginação

Github: https://github.com/rg3915/drf-example

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

Vamos precisar do django-seed

pip install django-seed

Editar settings.py

INSTALLED_APPS = [
    ...
    'django_seed',

Rodar o comando

python manage.py seed blog --number=250

Editar blog/models.py

from django.db import models


class Author(models.Model):
    name = models.CharField(max_length=255)

    class Meta:
        verbose_name_plural = "Authors"

    def __str__(self):
        return self.name


class Post(models.Model):
    body = models.TextField()
    author = models.ForeignKey(Author, on_delete=models.CASCADE, null=True)
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = "Posts"

    def __str__(self):
        return self.body

Editar blog/views.py

Editar blog/serializers.py

LimitOffsetPagination

Editar settings.py

PageNumberPagination

Editar settings.py

Paginação personalizada global (Custom Pagination)

Criar app core

Editar core/pagination.py

Editar settings.py

Paginação personalizada para o blog

Editar blog/pagination.py

Editar blog/views.py

Cursor Pagination

Editar settings.py

Requer um campo com o nome created no seu modelo.

Last updated

Was this helpful?