У меня есть модель member
, содержащая поле email
. Недавно я понял, что если часть электронной почты заглавная, она не будет отображаться в Django-запросах, если я попытаюсь фильтровать по электронной почте (несколько объектов-членов имеют один и тот же адрес электронной почты, но могут не быть заглавными). Я мог бы просто сделать все сообщения в нижнем регистре при вводе их в базу данных, но это слишком поздно для этого сейчас (поскольку веб-сайт уже запущен). Итак, как я могу проверить, у кого есть определенный адрес электронной почты, без учета регистра?
Как делать регистрозависимые запросы с помощью моделей Django
Ответ 1
Просто используйте iexact:
User.objects.filter(email__iexact='[email protected]')
Неверное к регистру точное совпадение. Если значение, предоставленное для сравнения, равно None, оно будет интерпретироваться как NULL SQL (подробнее см. Isnull).
Ответ 2
Member.objects.filter(email__iexact=email)