resources_getter.py 文件源码

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

项目:forest-django 作者: ForestAdmin 项目源码 文件源码
def _handle_search_param(self):
        search_param = self.params.get('search')
        if not search_param:
            return

        fields = [f.name for f in self.model._meta.get_fields() if not f.is_relation]
        q_list = [Q(**{'%s__icontains' % f : search_param}) for f in fields]
        related = [f for f in self.model._meta.get_fields() if isinstance(f, ForeignKey)]
        for rel in related:
            model = rel.related_model
            r_fields = [f.name for f in model._meta.get_fields() if not f.is_relation]
            q_list += [Q(**{'%s__%s__icontains' % (rel.name, r_field): search_param}) for r_field in r_fields]
        search_filter = reduce(OR, q_list)

        return search_filter
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号