1. ホーム
  2. python

[解決済み] 大文字小文字を区別しないFlask-SQLAlchemyクエリ

2022-08-03 05:47:37

質問

Flask-SQLAlchemyを使ってユーザーデータベースからクエリを発行しています。

user = models.User.query.filter_by(username="ganye").first()

<User u'ganye'>

する

user = models.User.query.filter_by(username="GANYE").first()

リターン

None

大文字小文字を区別せずにデータベースに問い合わせる方法があれば、2番目の例でも

<User u'ganye'>

どのように解決するのですか?

この方法は lower または upper 関数を使用します。

from sqlalchemy import func
user = models.User.query.filter(func.lower(User.username) == func.lower("GaNyE")).first()

もう一つの方法は ilike の代わりに like :

.query.filter(Model.column.ilike("ganye"))