Я видел различные вопросы по многосайтовому и многоузловому Django, включая субдомены и конкретные схемы для каждого субдомена То, что я не видел, - это решение (или советы, чтобы я мог написать один) этой проблемы.
- Я использую Django + PostgreSQL на сайте, скажем, myapp.com
- Основной сайт myapp.com используется для регистрации компаний
- Зарегистрированная компания получает собственный поддомен, company.myapp.com, и входит в систему и работает оттуда.
Моя идея состоит в том, чтобы создать две исходные схемы в PostgreSQL.
- Схема "авторизация" для компаний и пользователей
- Схема "empty_company_template" с основными таблицами для компании, все пустые, но подключенные к нужным последовательностям и т. Д.
Когда регистрируется новая компания, я хочу, чтобы это произошло:
- Создание новой схемы для компании, производной от empty_company_template
- Создать нового пользователя БД для компании с именем company (название компании)
- Установить путь поиска для этого нового пользователя для компании, auth (нет доступа к empty_company_template, нет доступа к схемам других пользователей)
Мне кажется, это лучше, чем существующие решения, которые, кажется, зависят от одного пользователя базы данных для всего приложения (с доступом ко всем схемам). Однако я изо всех сил пытаюсь заставить это работать. Это действительно жизнеспособный подход? Может кто-то указать мне верное направление? Это Джанго, так что, возможно, это было сделано, и я просто не нашел его?