gre*_*rez 4 django django-rest-framework
我想在我的ModelViewSet中使用@list_route装饰器创建一个自定义视图,该装饰器需要几个参数.我似乎无法找到这样的例子.
我想我希望我的功能看起来像:
@list_route()
def my_list(self, request, arg1, arg2, arg3):
models = Model.objects.all().filter( """do some filtering with my args""" )
serializer = ModelSerializer(models, many=True, context={'request': request})
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
同样,我不确定我应该在哪里或如何传递这些参数,或者我想做什么甚至是正确的,但这似乎是一个非常常见的用法.
听起来您希望使用查询参数来过滤您的查询集.Django REST Framework 通过过滤后端过滤查询集提供了很多帮助.
有一个特定的部分用于过滤查询参数,这听起来像你正在使用的.它使用request.query_params,这是Django REST Framework添加的自定义方法,它收集传入的所有查询参数.
如果您正在寻找in-url过滤(/api/users/search/:search例如),那么您将需要修改为查询集生成的URL以提供这些额外参数.Django REST Framework没有提供使用Router类来实现此目的的简单方法,但您可以通过使用Django手动注册URL来实现此目的.
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |