Таблица не существует ошибки в Django при использовании двух баз данных - PullRequest
2 голосов
/ 28 февраля 2020

У меня есть Django проект, в котором я использую две базы данных. В представлении у меня есть следующий запрос:

data = get_object_or_404(MyModel, ticker=ticker).using('second')

Этот запрос вызовет следующую ошибку:

(1146, "Table 'db.myapp_mymodel' doesn't exist")

Это происходит потому, что Django ищет таблицу в первая база данных, а таблица находится в второй базе данных. Почему это происходит, даже когда я использовал using() и когда в моей модели указано, что таблица находится во второй базе данных? Как я могу это исправить? Заранее спасибо!

1 Ответ

3 голосов
/ 28 февраля 2020

Вам необходимо передать .using(..) [Django -doc] в набор запросов, не после get_object_or_404(..) [Django -doc] , с тех пор уже слишком поздно: запрос уже выполнен. Итак:

data = get_object_or_404(<b>MyModel.objects.using('second')</b>, ticker=ticker)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...