Die Dokumente sagen, ich sollte kostenlos Seitenumbruch erhalten, wenn ich eine generische List oder ListCreateAPIView unterklassiere, aber es gibt keine Anzeichen dafür, dass Paginierung passiert. HierDjango Rest Framework 3.2.3 Seitennummerierung funktioniert nicht für generics.ListCreateAPIView
ist, was ich in den Einstellungen haben ...
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS':
'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 25,
'MAX_PAGE_SIZE': 50,
'TEST_REQUEST_DEFAULT_FORMAT': 'json',
'TEST_REQUEST_RENDERER_CLASSES': (...
),
'DEFAULT_FILTER_BACKENDS': (...
)
}
Meine Ansicht:
class RequestList(generics.ListCreateAPIView):
# set context for serializers
def get_serializer_context(self, *args, **kwargs):
context = {
'request': self.request,
'view': self,
'format': self.format_kwarg,
'request_type_id': 1}
return context
request_type_code_model_map = {
"S": Request.objects.filter(request_type_id=1, status='open'),
...}
def get(self, request, request_type_code="S", format=None, *args, **kwargs):
queryset = self.request_type_code_model_map.get(
request_type_code, "S")
serializer_class = RequestSerializer
serializer = serializer_class(
instance=queryset, context=self.get_serializer_context(),
many=True)
return Response(serializer.data)
Jede Hilfe wäre sehr willkommen. Ich habe versucht, eine benutzerdefinierte Paginator-Klasse zu erstellen, indem ich verschiedene Konfigurationsoptionen in den Einstellungen festlege, aber nichts, was ich tue, scheint irgendeinen Versuch der Paginierung zu machen. Die Seitenumbruch funktioniert für Benutzer und Gruppen, die ViewSets verwenden, aber keine meiner Ansichten, die Generics verwenden. Irgendwelche Ideen, ein Hinweis auf das, was ich vermisse, oder eine Lösung würden sehr geschätzt werden.
Vielen Dank Linovia. Das hat den Trick gemacht. Ich hatte angenommen, dass dies gestern wahrscheinlich der Fall war, und etwas implementiert, das funktionierte, aber mir nicht die sichtbaren Steuerelemente in der browsbaren API brachte. Das war der Schlüssel. Sehr geschätzt! – cjukjones