Reputation: 772
I would like to look up users by their email without worrying about uppercase letters.
How would I do this? I tried
customer = Customer.objects.get(email__lower="[email protected]")
and got this error.
django.core.exceptions.FieldError: Unsupported lookup 'lower' for EmailField or join on the field not permitted.
Upvotes: 3
Views: 2680
Reputation: 476574
You can work with the __iexact
lookup [Django-doc]:
customer = Customer.objects.get(email__iexact='[email protected]')
Contrary to popular belief, calling lowercase over two items does not check if the two match in a case insensitive way. Some characters have no lowercase/uppercase variant, for example ß [wiki]. In order to determine if two strings match case-insensitive, one should apply a case folding [wiki].
Upvotes: 4