22

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

4

2 に答える 2

60

iexactを使用するだけです:

User.objects.filter(email__iexact='email@email.com')

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

于 2013-01-01T23:09:52.417 に答える
7
Member.objects.filter(email__iexact=email)
于 2013-01-01T23:10:49.587 に答える