繁体   English   中英

使用 sqlalchemy 和 postgresql 自定义过滤器查询 flask

[英]custom filter query for flask using sqlalchemy and postgresql

我正在尝试在具有 varchar 和 integer 列的 postgre sql 表中创建过滤器。 我需要应用过滤器。 例如,我有一个类别表如下:

id    name    rank
1     test1   1
2     test2   2
3     test3   3

我想在 flask 的 slqalchemy 中应用过滤器,如下所示:

filter_text = "%{}%".format(request.args.get('search[value]'))
filter_int = request.args.get(['search[value]')
if(filter_text):
    categories = Category.query.filter(
        (Category.category_name.like(filter_text)) | 
        (Category.rank == filter_int)
    ).all()
else:
    categories = Category.query.all()

我从输入字段中获取搜索[值],它可以是 integer 和字母表或两者。 当我运行代码并传递字母表时,我在传递搜索 ['value'] = 't' 时出错:

sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for integer: "t" 

我知道问题是由于字母表在等级列中传递,即 integer。但我想使用相同的单个输入字段在所有列中进行搜索。

您需要根据您的条件对查询列进行类型转换。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM