Как мне поддержать пользователей с несколькими электронными письмами в Django? - PullRequest
4 голосов
/ 03 января 2012

Я создаю приложение Django, в котором пользователи могут иметь несколько электронных писем, включая основное. В Django таблица пользователей SQL имеет одно CharField для хранения одного адреса электронной почты.

Мой текущий план состоит в том, чтобы создать новую модель с именем скажем «EmailAddress», а затем связать эту модель с моделью пользователя через внешний ключ, что позволяет использовать несколько электронных писем. Основной адрес электронной почты пользователя хранится в столбце email таблицы пользователя.

Однако мне было интересно, есть ли более эффективный и надежный способ сделать это. В настоящее время я храню основной адрес электронной почты дважды, что, по моему мнению, может поставить под угрозу целостность данных.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 03 января 2012

Ваш план звучит вполне разумно. В большинстве сценариев я бы согласился с ответом @ Хоффа, однако добавление повторяющихся полей, как он предполагает, является просто неправильным подходом. Поскольку внешний ключ будет на EmailAddress, вы можете обойтись без создания пользовательского профиля в этом сценарии, хотя для почти любого другого сценария предпочтительным является пользовательский профиль.

0 голосов
/ 29 ноября 2017

Вопрос довольно старый, но вы можете использовать это расширение https://github.com/scott2b/django-multimail.Он поддерживает больше электронных писем и обрабатывает проверку.

...