Как добавить в админку динамически созданные таблицы?

Всем привет!

Есть django-сервис, который используется для внутренних нужд компании. Решили предоставить доступ к нему другим организациям, но сначала дав возможность пощупать его через демо-аккаунт, над которым я и работаю. Долго думал над тем, как организовать демо-доступ. Остановился на том, чтобы каждому демо-пользователю присваивать уникальный ID и динамически создавать модели и таблицы персональные под аккаунт. Например, сейчас используются модели `organisation` и `employee`, а будут создаваться `demo12345_organisation` и `demo12345_employee`.

С созданием и работой с ними вроде бы проблем нет. Но не могу сообразить, как их и только их регистрировать в админ-панели. Чтобы у пользователя с ID 12345 отображались только таблицы с префиксом 12345.

Или может быть я вообще неправильно реализую демо-доступ и лучше это сделать по-другому?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Остановился на том, чтобы каждому демо-пользователю присваивать уникальный ID и динамически создавать модели и таблицы персональные под аккаунт.

Зачем такие сложности? Достаточно добавить в каждую модель поле tenant и при выборке записей фильтровать по значению этого поля.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы