prg*_*dev 3 django django-templates django-forms django-views django-rest-framework
我有内置的 Django API,我有返回所有对象的端点。我希望用户为我提供关键字来过滤这个查询集。最好的方法是什么。以及如何做到这一点?
它在 get_queryset 中吗?如果是,你能帮我吗!?
您可以使用[Django-doc]访问 GET 参数(在querystring 中)。self.request.GET
因此,例如,如果有一个 parameter ?category=foo
,您可以使用 foo 访问 foo self.request.GET['category']
,或者self.request.GET.get('category')
如果您希望它None
在丢失时返回。
因此,您可以过滤,例如:
from rest_framework import generics
from app.models import SomeModel
from app.serializers import SomeSerializer
class UserList(generics.ListAPIView):
model = SomeModel
def get_queryset(self):
qs = super().get_queryset()
category = self.request.GET.get('category')
if category is None:
return qs
return qs.filter(category=categry)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1687 次 |
最近记录: |