python - Django:在沙箱环境中运行python shell,类似于rails console --sandbox

标签 python ruby-on-rails django sandbox

在我的 Django 项目中,我想启动一个 python shell,在其中我可以对数据库进行简单的更改(保存新记录、更新旧记录等),然后在退出 shell 时自动恢复。与运行基本相同的功能:

rails console --sandbox

在 Ruby on Rails 项目中。我并不是在寻找传统沙箱的所有功能,例如阻止 Web 服务调用,而是在寻找基本的数据库回滚。这——或者类似的东西——在 Django 中可能吗?

我想用它来进行测试。我知道我可以使用 Django 的测试基础设施来做到这一点,但是在一些基本实例中这将非常有用(例如,快速确认特定模型是否按照我期望的方式运行)。

最佳答案

这主要是在 python manage.py shell 中完成的(或者使用 INSTALLED_APPS 中的 django_extensions 更好... shell_plus),它是 python 命令行,您可以从中操作数据并测试一些您在测试之前不想编程的功能。据我所知,在 django shell 中回滚是不可能的,但是您可以使用不同的数据库设置单独的 settings.py ,这样您将拥有另一个数据库,您可以在其中在 shell 中进行实验而不会损坏数据。

这里有一些来源:

Django Best Practice: Settings file for multiple environments

Django shell (from DJango docs)

关于python - Django:在沙箱环境中运行python shell,类似于rails console --sandbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48723683/

相关文章:

python - 使用 crontab/cron 安排 python 3.6 脚本

python - 在最大化最低权重的同时将数字与因子平均分配的算法

javascript - 两个具有不同 css 样式的打印按钮

python - Django - 禁用系统检查之一

ruby-on-rails - 由于调试检查器失败,Ruby On Rails 在 Fresh Ubuntu、Mint 和 Fedora 上失败

python - 使用 django-piston 进行基本的 http 身份验证

python - Conda删除卸载的软件包比预期多

python - 您如何在 Eclipse 的工作区内查看/列出项目?

ruby-on-rails - rails : Spring permission error Ubuntu 14. 04

ruby-on-rails - 在 Rails 中,我应该启用 serve_static_assets 吗?