Пример #1
0
    def get_queryset(self):
        site = self._get_current_site(self.request)

        query = Section.get_deleted_query(self.request.user)
        if site:
            query &= Section.get_filter_query_by_site(site)
        else:
            if not self.request.user.is_staff:
                query &= Q(id__isnull=True)
        return super(SectionView, self).get_queryset().filter(query)\
            .extra(
                **Section.get_extrafilter_ordering_by_site(site)
            )\
            .prefetch_related('settings')\
            .order_by('ordering', 'order')\
            .distinct()