django rest framework 视图类接收查询关键字参数
时间: 2023-10-08 16:12:50 浏览: 154
在 Django REST Framework 中,视图类可以通过重载 `get_queryset` 或 `get` 方法来接收查询关键字参数。以下是两个示例:
1. 重载 `get_queryset` 方法
```python
from rest_framework import generics
class MyListView(generics.ListAPIView):
serializer_class = MySerializer
def get_queryset(self):
queryset = MyModel.objects.all()
keyword = self.request.query_params.get('keyword', None)
if keyword:
queryset = queryset.filter(name__contains=keyword)
return queryset
```
2. 重载 `get` 方法
```python
from rest_framework.response import Response
from rest_framework.views import APIView
class MyAPIView(APIView):
def get(self, request, format=None):
queryset = MyModel.objects.all()
keyword = request.query_params.get('keyword', None)
if keyword:
queryset = queryset.filter(name__contains=keyword)
serializer = MySerializer(queryset, many=True)
return Response(serializer.data)
```
在上述示例中,`keyword` 是查询关键字参数的名称,你可以根据你的需要来设置它。在视图类中,可以使用 `self.request.query_params` 或 `request.query_params` 来获取查询关键字参数的值。
阅读全文