こんにちは、私はstackoverflowの新しいメンバーです。私は現在、フラスコ内でsqlAlchemyを使用しています。検索URLに指定された文字列の一致するカテゴリを取得しようとしています。検索のURLのコードは以下の通りである:sqlAlchemyで "Like"演算子を使用する方法
@productapi.route("/search/category", methods=["GET"])
def search_category():
category_param_value = request.args.get('querystr', None)
print(category_param_value)
if category_param_value is None:
return jsonify(message='Which category you want to search????'), 400
try:
category = Category.query.filter_by(
title=Category.title.like("category_param_value %"))
except SQLAlchemyError as err:
return jsonify(message='Category not found.'), 400
category_list = category_schema.dumps(category)
return category_list.data, 200
は、私は次のURLでhttpieで試してみました:HTTP GET http://192.168.1.98:5000/api/v1/search/category?querystr= "テスト"
エラー:肯定的な反応を願い
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does not exist: character varying = boolean
。ありがとうございました。
は、文字列に変数を補間は、Python 3.6でのみ利用可能で、最大、および構文は 'F "{category_param_value}%" であろう'。しかし、注意してください。生のSQL文字列、HTMLなどに変数を補間することは危険です**。この場合、生のSQLを使用していないので、大丈夫です。 –