Varsayılan olarak sayfalama etkinleştirilmiş, PageNumberPagination
; Bu, API sadece bir ön uç tarafından kullanıldığından beri bu yeterli olmuştu. Şimdi bunun üzerine otomasyon oluşturmaya çalışıyoruz ve tam, gösterilmemiş sonuç kümesini müşteriye geri göndermek istiyorum. Özel istekler için sayfalandırmayı devre dışı bırakmanın bir yolu var mı, örn. Bir istek parametresi iletilirse?Django REST Framework'den basılmamış sonuçlar alın
0
A
cevap
0
Aslında bir özel sayfalandırma sınıfına gittim:
class Unpaginatable(PageNumberPagination):
def paginate_queryset(self, queryset, request, view=None):
if getattr(request, 'get_all', False):
return None
return super(BuildListPagination, self).paginate_queryset(queryset, request, view=view)
Şimdi sadece görünümümde request.get_all = True
ayarlamam gerekiyor ve tüm öğeleri aldım.
0
Bir unfeasibly sayıda ayarlanmış bir istek limitli bu tahmin edebilirsiniz, ancak önce Django yapılandırmanız gerekir:
GET https://api.example.org/accounts/?limit=999999999999
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination'
}
Sonra gülünç yüksek sınır isteği yapmak