2013-01-01 137 views
10

我有一個member模型,其中包含一個email字段。我最近意識到,如果電子郵件的一部分被大寫,如果我嘗試按電子郵件過濾(多個成員對象具有相同的電子郵件,但它可能不會被大寫),它將不會顯示在Django查詢中。我可以在將所有電子郵件輸入到數據庫時將所有電子郵件小寫,但現在已經太遲了(因爲網站已經啓動)。那麼,如何檢查哪些人有特定的電子郵件,而不區分大小寫?如何使用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) 
相關問題