2017-04-12 68 views
0

據我所知,django-cms rest api不提供其他api過濾器。我需要按發佈的頁面標題進行過濾,以便?t = XX將返回該頁面的發佈版本。我寫了一篇,但我想知道在這種情況下是否適當地使用了「title_set」。在Django-cms rest api中過濾頁面的傳統方法是什麼?

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') 

回答