Je construis une API en utilisant le framework de repos Django et Django et j'essaye d'ajouter le numéro de page sur les résultats de json. Et j'essaie d'ajouter le numéro de page dans les résultats retournés par exemple, je reçois actuellement ceci;Django Rest Framework ajouter un attribut de numéro de page en utilisant la classe PageNumberPagination
{
"links": {
"next": null,
"previous": null
},
"count": 1,
"results": [
{
"url": "http://127.0.0.1:8000/api/brands/1/?format=json",
"name": "microsoft",
"description": "Nothing",
"top_brand": true,
"guid": "microsoft"
}
]
}
Mais j'essaie d'obtenir quelque chose comme ça;
{
"count": 1,
"results": [
{
"url": "http://127.0.0.1:8000/api/brands/1/?format=json",
"name": "microsoft",
"description": "Nothing",
"top_brand": true,
"guid": "microsoft"
},
...
],
"page_number": 1,
"from": 1,
"to": 10,
"last_page": 4
}
L'attribut le plus important est le PAGE_NUMBER mais je ne suis pas sûr comment obtenir que de la classe parent à l'aide self...
je ne vois aucun moyen direct en plus d'utiliser une fonction. Voici mon code;
class StandardResultsSetPagination(PageNumberPagination):
page_size = 100
page_size_query_param = 'page_size'
max_page_size = 1000
def get_paginated_response(self, data):
return Response({
'links': {
'next': self.get_next_link(),
'previous': self.get_previous_link()
},
'count': self.page.paginator.count,
'results': data,
'page_number': self.page.paginator...,
})