Ссылаясь на пример в документации Django для нескольких баз данных в одном приложении,
https://docs.djangoproject.com/en/dev/topics/db/multi-db/#an-example
" Также не учитывается взаимодействие транзакций со стратегией использования базы данных."
Как мне справиться с взаимодействием, указанным выше.
Сценарий таков:
Я использую postgresql в качестве моей базы данных. Я настроил реплику и хочу, чтобы все операции чтения с таблицами "auth" выполнялись в реплике. Следуя документации, я написал маршрутизатор базы данных. Теперь всякий раз, когда я пытаюсь войти в свое приложение, выдается следующая ошибка.
DatabaseError: cannot execute UPDATE in a read-only transaction.
Это происходит, когда Django пытается сохранить время «last_login». Потому что в том же представлении он сначала извлекает запись из реплики, а затем пытается обновить время last_login. Поскольку это происходит в одной транзакции, используется одна и та же база данных, т.е. реплика.
Как мне справиться с этим?
Мысли?