Ich versuche, die Paginierungsmechanismen von Django Rest Framework in meinem Fall ohne Erfolg zu verwenden.DFR: Paginierung ohne Queryset
class TransactionView(viewsets.ViewSet):
serializer_class = TransactionSerializer
def list(self, request):
# fetching data from external API...
serializer = self.serializer_class(data=list_of_json, many=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
else:
return Response(serializer.errors)
class TransactionSerializer(serializers.Serializer):
# Serializer (transaction's) fields ...
def create(self, validated_data):
return APITransaction(**validated_data)
class APITransaction(object):
def __init__(self, arg1, arg2, ...):
self.arg1 = arg1
...
Das Problem ist, dass die Registrierung des pagination_class
(wie ich für den Rest meiner Ressource durchgeführt, die durch Modelle dargestellt wird) nicht funktioniert, da die Daten/geholt on the fly erstellt werden, so dass ich don Habe kein Model/Queryset.
Irgendwelche Ideen, wie ich den Paginierungsmechanismus von DRF verwenden könnte?
Hallo, wie hast du das gelöst? Haben Sie @Linovias Antwort verfolgt und Ihren eigenen Paginierungskurs implementiert? – YuppieNetworking
Ich hatte keine Zeit, die Best Practice Road hier zu folgen, also habe ich eine Funktion erstellt, die die Antwort manuell erstellt mit 'django.core.paginator' um die' list_of_jsons' zu paginieren und ein 'dict' mit' count, next 'zu erstellen , vorherige, numPages, Ergebnisse, die ich zurückgebe als 'return JsonResponse (the_dict, status = 200, safe = False)'. Ich werde nach dem tatsächlichen Code suchen und eine neue Antwort einreichen – chefarov