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="test@gmail.com")
and got this error.
django.core.exceptions.FieldError: Unsupported lookup 'lower' for EmailField or join on the field not permitted.
You can work with the __iexact
lookup [Django-doc]:
customer = Customer.objects.get(email__iexact='test@gmail.com')
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].