据我所知,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')