[英]Django Rest Framework - How do I limit results returned with Geolocation?
[英]How to limit query results with Django Rest filters
我正在研究使用Django Rest Framework
構建的 api。 我已經定義了幾個model
類,我還創建了一些過濾器來應用在指定的api-endpoints
中發生的某些查詢。
我想在申請LIMIT queryset
,但我寧願不使用Django的符號前Entry.objects.all()[:5]
相反,我希望能夠從與模型關聯的過濾器內部應用限制。
直到現在我還沒有找到任何解決方案。 我想我應該找到一種方法來定義具有默認值的過濾器,這會導致不限制查詢集,並且如果請求到達端點並包含諸如?filter=10
則查詢集應限制為前 10 個.
您可以使用 Django Rest Framework 分頁。 pagination_class LimitOffsetPagination
使您能夠限制 query_param 中返回條目的數量。
您可以擴展或自定義drf 中可用的分頁類
class UserSpecificPagination(LimitOffsetPagination):
def get_limit(self, request):
if logic_met(request.user):
self.max_limit = custom_limit
return super(UserSpecificPagination, self).get_limit(request)
在ListAPIView
或 DRF 設置中將類設置為pagination_class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.