如何以只读模式进入django shell?

fjaof16o  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(301)

我对使用django shell的一种形式感兴趣,它只允许读操作。到目前为止,我已经读了这篇博客文章(https://chase-seibert.github.io/blog/2012/12/21/read-only-django-shell.html),这似乎是基于设置的 django.db.router.db_for_writeNone .
这是推荐的方法吗?据我所知https://docs.djangoproject.com/en/2.1/topics/db/multi-db/#using-路由器 django.db.router 是“主路由器”,我不清楚是否可以在不影响数据库运行环境的情况下修改其属性。
也许还有另一种方法,比如创建一个只有读取权限的数据库(在我的例子中是mysql)用户,然后启动一个作为该用户连接的django shell?

lvmkulzt

lvmkulzt1#

这比预期的要稍微复杂一些,因为听起来您需要一组单独的设置来用于 shell 命令与正常的django操作。所以三步流程:
创建自己的路由器类
创建一个单独的设置文件以用于 shell 命令
使用环境变量或单独的 manage.py 运行 shell 命令

相关问题