Fra*_*lli 17 django django-rest-framework
我正在使用ListAPIView,但我无法过滤结果.我的代码是:
class UserPostReadView(generics.ListAPIView):
serializer_class = PostSerializer
model = serializer_class.Meta.model
queryset = model.objects.order_by('-post_time')
lookup_field = 'poster_id'
paginate_by = 100
Run Code Online (Sandbox Code Playgroud)
在这种情况下,lookup_field被忽略,但文档说它也支持这个类.如果我尝试get在通用视图上实现自定义,我不知道如何重新实现paginate_by.有任何想法吗?
Fra*_*lli 26
我找到了解决方案
class UserPostsReadView(generics.ListAPIView):
serializer_class = PostSerializer
model = serializer_class.Meta.model
paginate_by = 100
def get_queryset(self):
poster_id = self.kwargs['poster_id']
queryset = self.model.objects.filter(poster_id=poster_id)
return queryset.order_by('-post_time')
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-the-url
| 归档时间: |
|
| 查看次数: |
14915 次 |
| 最近记录: |