django - 在 django 1.11 中,如何允许用户登录只读数据库?

标签 django postgresql django-1.11

我有 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/

相关文章:

python - coverage.py 和 setup.py 以及 Django 测试

node.js - 如何在 Windows 10 上构建 node-gyp?

python-3.x - 将数据从 django 表单传递到 ListView

python - 保存产品和公司后立即保存它们

sql - 如何以某种方式对这些 SQL 结果进行排序?

python - Django : makemigrations process does not end

python - Django:如何在 django 中循环查询集并将 bool 字段更改为 True?

python - 来自不同模型的 Django 模型引用

python - Bootstrap 表单中带有外键的 Django 下拉菜单

php - Doctrine SQL/表生成失败