#django #django-models
#django #django-модели
Вопрос:
Я знаю, что это плохая идея напрямую касаться пользовательской модели. Вместо этого вы должны расширить его. Моя проблема в том, что я уже расширил до определенной степени. Я хотел, чтобы пользователи регистрировались / аутентифицировались по своему адресу электронной почты, а не по имени пользователя. Для этого я превратил username в хэш-значение их адреса электронной почты.
Это сработало просто отлично. Моя проблема сейчас в том, что у моего администратора беспорядок всякий раз, когда у меня есть пользовательский ForeignKey. Метод unicode пользовательской модели представляет имя пользователя. В моем случае это не идеально. Я бы предпочел иметь возможность видеть имя или адрес электронной почты, чтобы время от времени я мог вручную просматривать что-либо.
Мой вопрос в том, могу ли я просто изменить метод Unicode в пользовательской модели, не создавая проблем? Достаточно ли это тривиально, чтобы не привести к будущим / текущим сбоям?
Спасибо
Комментарии:
1. Почему бы не попробовать и не протестировать это? Вы могли бы написать несколько тестов для функциональности, которую вы хотите реализовать, и для других функций, которые, как вы опасаетесь, могут быть нарушены.
2. Я подумал, что это может быть распространенный вопрос. Если есть лучший способ или это считается ужасным, я хотел бы знать. Я довольно новичок в django и не хочу ломать свой сайт
Ответ №1:
Теперь, когда я перечитываю ваш вопрос… Почему бы просто не превратить имя пользователя в само электронное письмо вместо его хэширования?
Комментарии:
1. имя пользователя имеет максимальную длину 30. Некоторые электронные письма могут быть длиннее
2. Хороший момент; тогда я сам столкнусь с этой проблемой на днях. Спасибо 🙂