Django:在沙盒环境中运行python shell,类似于rails控制台——沙盒

Django:在沙盒环境中运行python shell,类似于rails控制台——沙盒,python,ruby-on-rails,django,sandbox,Python,Ruby On Rails,Django,Sandbox,在Django项目中,我想启动一个python shell,在其中我可以对数据库进行简单的更改(保存新记录、更新旧记录等),然后在退出shell时自动恢复。基本上与运行相同的功能: rails console --sandbox 在RubyonRails项目中。我并不是在寻找传统沙盒的所有特性,比如阻止web服务调用,只是寻找基本的数据库回滚。这在Django可能吗 我想将其用于测试目的。我知道我可以使用Django的测试基础设施来实现这一点,但在一些基本的例子中,这将非常有用(例如,快速确认

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

rails console --sandbox
在RubyonRails项目中。我并不是在寻找传统沙盒的所有特性,比如阻止web服务调用,只是寻找基本的数据库回滚。这在Django可能吗


我想将其用于测试目的。我知道我可以使用Django的测试基础设施来实现这一点,但在一些基本的例子中,这将非常有用(例如,快速确认特定模型的功能符合我的预期)。

这主要是在
python manage.py shell
(或者在已安装的应用程序中使用django_扩展更好
…shell_plus
)这是python命令行,您可以从中操作数据并测试一些在测试之前不想编程的功能。据我所知,在django shell中回滚是不可能的,但您可以使用不同的DB设置进行单独的
settings.py
,这样您就可以拥有另一个数据库,在该数据库中可以在shell中进行实验而不会损坏正在刷新您的数据

以下是一些资料来源: