烧瓶SqlAlChemy如何使用**粗略和列状表达式调用过滤_BY [英] Flask SqlAlchemy how to call filter_by with **kwargs and column like expressions

查看:34
本文介绍了烧瓶SqlAlChemy如何使用**粗略和列状表达式调用过滤_BY的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将查询动态过滤发送到我的数据库,我使用

List = mytable.query.filter_by(**kwargs).order_by(desc(inscrits.id)).all()

其中一列是地址,我想在该地址上使用类似%partof Address%的表达式

所以我做的是

        if (request.form.get('Address')):
            kwargs['Address'] = 'Address.Lik(%'+request.form.get('Address')+'%)'

它没有按预期工作,如果可能,我如何做到这一点?

谢谢

推荐答案

需要查询filter方法。它接收SQLAlChemy条件表达式的列表。您的示例如下所示:

args = []
if (request.form.get('Address')):
    args.append(mytable.address.like('%%%s%%' % request.form.get('Address')))
# Here will be another possible arguments
items = mytable.query.filter(*args).order_by(desc(inscrits.id)).all()

这篇关于烧瓶SqlAlChemy如何使用**粗略和列状表达式调用过滤_BY的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆