J'étais un peu accro quand j'ai essayé de rechercher par chaîne de caractères en utilisant json_contains
.
Doit être entre "" "". En fait, vous devez utiliser json_contains (fuga, '" piyo "')
lors de la sélection directe avec mysql.
success.py
from sqlalchemy import func
search_str = 'piyo'
db.session.query(Hoge).filter(func.json_contains(Hoge.fuga, f'"{search_str}"'))
fail.py
from sqlalchemy import func
search_str = 'piyo'
db.session.query(Hoge).filter(func.json_contains(Hoge.fuga, search_str))
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (3141, 'Invalid JSON text in argument 2 to function json_contains: "Invalid value." at position 0.')
Recommended Posts