Django ORM фильтр только по нижнему регистру
Как использовать Django ORM для фильтрации объектов, которые показывают только строчные буквы? Например, в моем случае, я хочу обновить все электронные письма, которые имеют "нестрочные" объекты на "строчные".
from django.db.models.functions import Lower
User.objects.exclude(email__islower=True).update(email=Lower("email"))
/|\
|
В настоящее время я использую выражение __regex для решения этой задачи,
User.objects.exclude(email__regex="^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\.[a-z0-9-]+)*$").update(email=Lower("email"))
с этим шаблоном электронной почты: https://www.abstractapi.com/tools/email-regex-guide
Но, надеюсь, есть лучшие решения.