Официальная документация django, другие ответы на stackoverflow и другие ресурсы предоставляют учебное пособие / пример для маршрутизации базы данных на основе модели.Другими словами, они принимают сценарий так, как будто выбор базы данных зависит от модели, которую мы хотим использовать.Это означает, что несколько моделей работают с несколькими базами данных, а остальные модели работают с остальными базами данных.
Мой сценарий или то, что мне нужно:
Я хочу, чтобы все модели, указанные в models.py,храниться во всех базах данных.Выбор базы данных должен определяться текущим сеансом пользователя.Каждый пользователь имеет свою собственную базу данных, и каждая база данных имеет каждую модель.
Как мне это реализовать?(Надеюсь, я достаточно ясен.)
Что говорит источник:
def db_for_read(self, model, **hints):
if model._meta.app_label in ['auth','admin','sessions','contenttypes']:
return 'devops'
return None
Я хочу что-то вроде:
def db_for_read(self, request, **hints):
if request.session.get('username'):
# If I name databases as per usernames
return request.session['username']