Я думаю, исходя из информации, будет потенциальная ошибка в ваших установленных строках DATABASE_HOST (в вашем псевдокоде выше). читать: "setattr (settings ..."
Кроме этого, я не уверен, как вы настроили свою базу данных для переключения на основе ваших критериев, поскольку вы этого не объяснили. Если вы делаете это по модели, возможно, стоит подумать о том, как Django это знает, или даже использовать внешние соединения (ручная загрузка драйвера базы данных и выполнение команд вручную до этапа рендеринга) и использование main.
Я бы поставил под вопрос весь подход, но в основном потому, что я не уверен, как вы на самом деле различаете две базы данных или почему. Не могли бы вы предоставить немного больше информации о том, как вы это делаете? Я предполагаю, что переменные, которые вы выводите в точках 2 и 5 выше, разные. Мне не нужны значения, я просто проверяю, что вы не использовали старое дублирование кода и забыли отредактировать его (мы все были там).
Примечание: я бы опубликовал это как комментарий, если бы мог, но я думаю, что решение может быть в том, как вы вытягиваете переменные. Наконец, вы можете попробовать добавить имя базы данных (только IP-адрес сервера или что-то еще) к выводу, если вы находитесь в режиме 'dev' / debug (автономный / непроизводственный), чтобы проверить, действительно ли он делает это для второго сервер.