【发布时间】:2014-07-03 06:09:25
【问题描述】:
我有这个 api 视图
class ItemList(generics.ListCreateAPIView):
model = Item
def get_queryset(self):
return get_objects_for_user('item_view',self.request.user)
和另一个应用视图(不是 API 的一部分)
def item_search(request):
qs = get_objects_for_user('item_view',request.user)
q = request.GET.get('q',None)
qs.filter ( ... )
paginator = Paginator(qs['queryset'], 20)
..
在常规视图的 API 视图中使用 get_queryset 的最佳方式是什么?
我有一些权限\过滤正在进行,我希望尽可能保持视图干燥。
我浏览了代码,发现通用视图是用ItemList.initizlie(request) 实例化的,但我一直在那儿磕磕绊绊,这让我认为这可能不是解决方案......
编辑:
到目前为止,我最接近的是ItemList.as_view()(request) - 它返回数据但仍然不够,我需要 QS,以便我可以对其应用额外的过滤。
【问题讨论】:
标签: django django-rest-framework