GOOGLE ADS

пятница, 6 мая 2022 г.

Принуждение имен пользователей в нижнем регистре в Django

В настоящее время в django.contrib.auth может быть два пользователя с именем пользователя «john» и «John». Как я могу предотвратить это.

Самый простой подход — добавить чистый метод в contib.auth.models и преобразовать его в нижний регистр перед сохранением, но я не хочу редактировать пакет contrib.auth.

Спасибо.


Решение проблемы

Послушайте pre_saveмодель Users, а затем проверьте там. Наименее навязчивый и наиболее портативный способ.

Вот пример того, как это будет выглядеть (адаптировано из примера профиля пользователя):

def username_check(sender, instance, **kwargs):
if User.objects.filter(username=instance.username.lower()).count():
raise ValidationError('Duplicate username')
pre_save.connect(username_check, sender=User)

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...