Сделать запрос к модели Django нечувствительным к регистру символов

Я хотел бы искать пользователей по их электронной почте, не беспокоясь о заглавных буквах.

Как бы мне это сделать? Я пытался

customer = Customer.objects.get(email__lower="test@gmail.com")

и получил эту ошибку.

django.core.exceptions.FieldError: Unsupported lookup 'lower' for EmailField or join on the field not permitted.

Вы можете работать с __iexact поиском [Django-doc]:

customer = Customer.objects.get(email__iexact='test@gmail.com')

Вопреки распространенному мнению, вызов строчной буквы над двумя элементами не проверяет, совпадают ли эти два элемента без учета регистра. Некоторые символы не имеют вариантов нижнего/верхнего регистра, например ß [wiki]. Чтобы определить, совпадают ли две строки без учета регистра, необходимо применить складывание регистров [wiki].

Вернуться на верх