Django Rest Framework
ile oluşturulmuş bir api üzerinde çalışıyorum. Birkaç model
sınıfını tanımladım ve ayrıca belirtilen api-endpoints
'da gerçekleşen belirli sorgular üzerinde uygulamak için bazı filtreler oluşturdum.Django Rest filtreleriyle sorgu sonuçları nasıl sınırlanır
queryset
numaralı telefondan LIMIT'i uygulamaya çalışıyorum ancak 'u Django notasyonu e.x. Entry.objects.all()[:5]
. Bunun yerine, modelle ilişkili filtrenin içinden sınırı uygulayabilmek istiyorum.
Şimdiye kadar herhangi bir çözüm bulamadım. Ben varsayılan bir değer bir süzgeç tanımlamak için bir yol bulmak gerektiğini düşünmek için bir yol bulmak gerekir bir soruşturma sınırlama ve bir istek son noktaya ulaştığında ve ?filter=10
gibi bir şey içeriyorsa o zaman queryset ilk 10 ile sınırlı olmalıdır.
ayarları yapabilir! Bu durumda, 'LimitOffsetPagination' sınıfını geçersiz kılmak ve 'offset' parametresini varsayılan değere (muhtemelen 0) vermek istiyorum, böylece kullanıcı sadece 'limit' parametresini belirtmek zorunda kalacak. "PageNumberPagination" öğesini kullanmayı düşünüyorum ve "limit" varsayılan değerine sahip olmak için "page_size_query_param" parametresini geçersiz kıldım. Bu mantıklı mı? – LetsPlayYahtzee
Evet, bu iyi bir çözümdür. Dokümantasyonda belirtildiği gibi, "page_size_query_param" parametresi, istemcinin istek sayfası boyutunu kontrol etmesine izin vermek için kullanılabilir. 'PageNumberPagination' 'içinde bu param, Yok olarak varsayılan olarak ayarlanır. –
Bu aptalca gelebilir, ancak özel sayfalandırma sınıfını nereye yerleştireceğimi anlayamıyorum. – LetsPlayYahtzee