Я пытаюсь реализовать Интернет-магазин с использованием электронной коммерции Django. Кажется, все идет хорошо и гладко после прочтения документации и прохождения кода в репозитории :)
Но одна вещь - большая задержка для использования Оскара в моем текущем проекте - это обязательное поле электронной почты для модели User. Есть ли способ сделать его необязательным?
Я не использую представления Оскара для каталога. Вместо этого только API с некоторыми Vue и Nuxt на внешнем интерфейсе, но этот конкретный случай я не могу решить.
Случай использования:
Пользователь заходит на сайт, находит понравившийся ему товар. Вместо того, чтобы добавить его в корзину, он нажимает кнопку «Купить в 1 клик». Всплывающее окно спрашивает его номер телефона. Это единственное, что требуется для совершения покупки.
Я вижу два решения здесь:
1.
Создайте отдельную модель для таких покупок, которая не будет проходить через всю воронку и не будет сохранена как фактическая покупка. Добавьте представление для этого в Dashboard, чтобы администраторы могли работать с такими запросами.
Плюсы: это отдельный процесс, который я полностью контролирую, не вмешиваясь в реальные модели Оскара.
Минусы: Должна быть написана некоторая магия для переноса такого заказа из запроса в фактическую модель заказа с соответствующими моделями корзины и позиций, когда с клиентом свяжутся и подтвердят его заказ. В этом случае мне все еще нужно предоставить электронную почту пользователя.
2.
Добавить один товар в корзину, оформить заказ только по номеру телефона. Генерация электронной почты случайным образом на сервере с конкретным доменным именем. Добавьте проверки для этого доменного имени во всей бизнес-логике, чтобы письма не отправлялись.
Плюсы: держать все внутри Оскара с самого начала. Все данные находятся на приборной панели с самого начала и являются частью всех продаж.
Минусы: построение адреса электронной почты. Плохо пахнет :)
Как вы можете видеть, даже при первом подходе нужно поработать над электронной почтой, потому что нет способа создать пользователя в Оскаре без электронной почты.
Можете ли вы предложить лучший подход здесь, или, может быть, есть не очень очевидный, но хороший способ пропустить электронную почту для модели User?