【发布时间】:2016-11-12 01:44:12
【问题描述】:
我试图在我的案例中使用 Django Rest Framework 的分页机制,但没有成功。
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
...
问题是注册pagination_class(就像我为模型表示的其余资源所做的那样)不起作用,因为数据是动态创建/获取的,因此我没有有一个模型/查询集。
关于如何使用 DRF 的分页机制有什么想法吗?
【问题讨论】:
-
你好,你是怎么解决的?您是否按照@Linovia 的回复并实现了自己的分页类?
-
我没有时间在这里遵循最佳实践道路,所以我创建了一个函数,使用
django.core.paginator手动构建响应以对list_of_jsons进行分页并使用 @ 构建dict987654326@ 我以return JsonResponse(the_dict, status=200, safe=False)返回。我将四处寻找实际代码并提交新答案