def published(self, user_obj): """ 指定されたユーザーが閲覧可能なスターを含むクエリを返す Args: user_obj (user instance): 対象ユーザーインスタンス Returns: queryset """ # TODO: 可能な限りデータベース上でフィルタリング処理を行う # Note: 下記は全てイテレータで処理を行なっているので一応遅延処理される iterator = filter_with_perm(user_obj, self.all(), 'view') iterator = (x.pk for x in iterator if getattr(x.content_object, 'pub_state', None) != 'draft') return self.filter(pk__in=iterator)
def published(self, user_obj): """ 指定されたユーザーが閲覧可能なスターを含むクエリを返す Args: user_obj (user instance): 対象ユーザーインスタンス Returns: queryset """ # TODO: 可能な限りデータベース上でフィルタリング処理を行う # Note: 下記は全てイテレータで処理を行なっているので一応遅延処理される iterator = filter_with_perm(user_obj, self.all(), 'view') iterator = (x.pk for x in iterator if getattr(x.content_object, 'pub_state', None) != 'draft') return self.filter(pk__in=iterator)
def filter_queryset(self, request, queryset, view): user = request.user if request.method == 'GET': queryset = filter_with_perm(user, queryset, 'view') return queryset
def filter_queryset(self, request, queryset, view): user = request.user if request.method == 'GET': queryset = filter_with_perm(user, queryset, 'view') return queryset