Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 def filter_queryset(self, request, queryset, view):
     user = request.user
     if request.method == 'GET':
         queryset = filter_with_perm(user, queryset, 'view')
     return queryset
Ejemplo n.º 4
0
 def filter_queryset(self, request, queryset, view):
     user = request.user
     if request.method == 'GET':
         queryset = filter_with_perm(user, queryset, 'view')
     return queryset