filters.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:tunga-api 作者: tunga-io 项目源码 文件源码
def filter_payment_status(self, queryset, name, value):
        queryset = queryset.filter(closed=True)
        if value in ['paid', 'processing']:
            request = self.request
            is_po = request and request.user and request.user.is_authenticated() and request.user.is_project_owner and not request.user.is_admin
            if value == 'paid':
                return is_po and queryset or queryset.filter(paid=True, pay_distributed=True)
            else:
                processing_filter = (Q(processing=True) & Q(paid=False))
                if not is_po:
                    processing_filter = processing_filter | (Q(paid=True) & Q(pay_distributed=False))
                return queryset.filter(processing_filter)
        elif value == 'pending':
            queryset = queryset.filter(processing=False, paid=False)
        elif value == 'distribute':
            queryset = queryset.filter(
                payment_method=TASK_PAYMENT_METHOD_STRIPE,
                paid=True, btc_paid=False, pay_distributed=False
            )
        return queryset
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号