Это очень сложная проблема, если вы не определите один из своих проектов как «мастер» пользовательской пользовательской модели.В противном случае вы могли бы иметь конкурирующие миграции для одной и той же таблицы базы данных.Как только вы решите, какой проект будет основным, проекты, не являющиеся главными, должны иметь отдельную запись в DATABASES
, которая соединит их с центральной базой данных пользователей
DATABASES = {
'default': ...
'users': {
'HOST': 'central-host.example.com',
'NAME': 'central-users',
...
}
}
DATABASE_ROUTERS = 'my_app.database_router'
В вашем маршрутизаторе вы можете указать, чтоМодель пользователя должна быть прочитана из базы данных центральных пользователей:
class Router(object):
def db_for_read(self, model, **hints):
if model.__name__ == 'CustomUserModel':
return 'users'
return 'default'
def db_for_write(self, model, **hints):
if model.__name__ == 'CustomUserModel':
return 'users'
return 'default'