Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用临时数据库启动django shell_Django_Django Tests - Fatal编程技术网

使用临时数据库启动django shell

使用临时数据库启动django shell,django,django-tests,Django,Django Tests,我想用一个临时数据库启动django shell(就像做django测试时所做的那样) 是否有类似以下命令: python manage.py testshell 在哪里我可以创建一堆伪造的模型而不污染我的数据库?不用担心,这就解释了 >>> from django import test >>> test.utils.setup_test_environment() # Setup the environment >>> from dja

我想用一个临时数据库启动django shell(就像做django测试时所做的那样)

是否有类似以下命令:

python manage.py testshell
在哪里我可以创建一堆伪造的模型而不污染我的数据库?

不用担心,这就解释了

>>> from django import test
>>> test.utils.setup_test_environment() # Setup the environment
>>> from django.db import connection
>>> db = connection.creation.create_test_db() # Create the test db

您只需关闭自动提交:

from django.db import transaction
transaction.set_autocommit(False)

IIRC,单元测试框架为您创建测试数据库。您只需确保它具有正确的权限即可。即使您自己回答了,也要将此答案标记为正确,这样就不会显示为未回答的问题。@MikeDeSimone我还有两天时间可以回答,但我会的。啊,忘了延迟了。博客链接无效,但是我认为这些命令对于测试shell来说已经足够了。可能这两个命令
connection.creation.destroy\u test\u db()
test.utils.tear\u-down\u-test\u-environment()
也很有用。如果要连接到现有数据库并且使用Django>=1.8,请使用
db=connection.creation.create\u-test\u-db(keepdb=True)
。文档是。