handler.py 文件源码

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

项目:jamdb 作者: CenterForOpenScience 项目源码 文件源码
def filter(self):
        filter_dict = {}
        matcher = re.compile(r'filter\[(.+)\]')
        for key in self.request.query_arguments:
            match = matcher.match(key)
            if match:
                if match.groups()[-1] in {'ref'}:
                    filter_dict[match.groups()[-1]] = self.request.query_arguments[key][-1].decode()
                else:
                    filter_dict['data.{}'.format(match.groups()[-1])] = self.request.query_arguments[key][-1].decode()
        if not filter_dict:
            return None
        return functools.reduce(operator.and_, [
            jam.Q(key, 'eq', parse_value(value))
            for key, value in filter_dict.items()
        ])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号