J'utilise Flask-SQLAlchemy pour interroger une base de données d'utilisateurs; cependant, tandis que
user = models.User.query.filter_by(username="ganye").first()
reviendra
<User u'ganye'>
Faire
user = models.User.query.filter_by(username="GANYE").first()
Retour
None
Je me demande s'il existe un moyen d'interroger la base de données d'une manière insensible à la casse, de sorte que le deuxième exemple revienne toujours
<User u'ganye'>
python
flask
flask-sqlalchemy
Ganye
la source
la source
filter_by
méthode où la colonne du nom d'utilisateur est indexée?En améliorant la réponse de @ plaes, celle-ci raccourcira la requête si vous ne spécifiez que la ou les colonnes dont vous avez besoin:
L'exemple ci-dessus est très utile au cas où l'on aurait besoin d'utiliser jsonify de Flask à des fins AJAX, puis dans votre javascript, y accéder en utilisant data.result :
la source
tu peux faire
Ou vous pouvez utiliser la fonction ilike
la source