簡體   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