在Django-cms rest api中过滤页面的常规方法是什么?

时间:2017-04-12 17:14:28

标签: django django-rest-framework django-cms django-filters

据我所知,django-cms rest api不提供rest api过滤器。我需要按发布的页面标题进行过滤,以便?t = XX将返回该页面的已发布版本。我已写过一篇,但我想知道我是否正在使用" title_set"在这种情况下适当。

class PageViewSet(QuerysetMixin, viewsets.ReadOnlyModelViewSet):
    serializer_class = PageSerializer

def get_queryset(self):
    site = get_current_site(self.request)
    t = self.request.query_params.get('t', None)
    queryset = Page.objects.filter(publisher_is_draft=False).all()
    if t is not None:
        # return the page with cms_title.title = t
        return queryset.filter(title_set__title__exact=t)
    else:
        # default to the home page
        return queryset.filter(title_set__title__exact='Home')

1 个答案:

答案 0 :(得分:0)

Have a look at this,django-filters非常方便〜