我有 2 个实例,每个实例都运行自己的 postgres 数据库。
一个用于生产用途。另一个是从生产数据库执行复制的只读数据库。
两个实例都运行相同的 django 1.11 应用程序代码库。
当我尝试登录 django 只读版本时,我无法登录,因为登录的 Action 显然执行了一些更新或插入语句。
我收到有关只读数据库的内部错误:无法在只读事务中执行 INSERT
如果我想允许用户使用相同的代码库访问只读数据库,我有什么选择?
更新
我已经尝试过 django-postgres-readonly
。相同的结果。
最佳答案
在与只读数据库对话的代码库上
第一步:安装django-no-last-login v0.1.0
第 2 步:在 settings.py 中添加/更改以下内容
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
INSTALLED_APPS += [
'nolastlogin',
]
NO_UPDATE_LAST_LOGIN = True
默认情况下,Django 使用数据库作为 session 引擎,所以切换到其他东西。
此外,该插件还可以轻松关闭 Django 更新上次登录行为。
Django 自动更新上次登录时间。因为我们想要零数据库写入,所以我们需要使用它。
关于django - 在 django 1.11 中,如何允许用户登录只读数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49025407/