2013-01-01 3 views
10

私はmemberモデルを持っていて、emailフィールドを含んでいます。私は最近電子メールの一部を大文字にすると、電子メールでフィルタリングしようとするとDjangoのクエリに表示されないことに気付きました(複数のメンバオブジェクトは同じ電子メールを持ちますが、大文字にすることはできません)。データベースに入力するときにすべての電子メールを小文字にしたばかりだったかもしれませんが、今は(Webサイトが既に起動しているので)それには遅すぎます。どのようにして大文字と小文字を区別せずに特定のメールを持っているかを確認するDjangoモデルで大文字と小文字を区別しないクエリを作成する方法

+3

[Djangoのモデル - 大文字小文字を区別しないクエリ/フィルタリング]の可能複製(http://stackoverflow.com/questions/11743207/django-model-case-insensitive-query-filtering) – melbic

答えて

32

だけiexactを使用します。

User.objects.filter(email__iexact='[email protected]') 

大文字と小文字を区別しない完全一致を。比較のために提供された値がNoneの場合、それはSQL NULLとして解釈されます(詳細はisnullを参照)。

3
Member.objects.filter(email__iexact=email) 
関連する問題