Позовавайки се на примера в документацията на 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. Тъй като това се случва в една транзакция, се използва същата база данни, т.е. реплика.
Как да се справя с това?
мисли?