use*_*404 5 django multiple-databases
我正在一个django项目中,我所有的单元测试用例都运行良好。
当我引入第二个数据库后,我从TestCase继承的所有测试用例都被破坏了。在这个阶段,我还没有为第二个数据库建立任何测试用例,但是我的路由器工作正常。
当我运行测试时,我得到了错误,
“ KeyError:'SUPPORTS_TRANSACTIONS'”
在我看来,这是在尝试检查确保我安装的所有数据库都支持事务,但从未创建第二个数据库。
关于如何使用测试脚本来构建第二个数据库的任何想法。
我意识到这是一个很旧的线程,但是我遇到了同样的问题,我的决心是将multi_db = True标志添加到我的测试用例中,例如:
class TestThingWithMultipleDatabases(TestCase):
multi_db = True
def test_thing(self):
pass
Run Code Online (Sandbox Code Playgroud)
来源https://github.com/django/django/blob/master/django/test/testcases.py#L861
这将导致django调用flush所有数据库(如果支持事务则回滚)
我也正在使用数据库路由器
恐怕我在Django的文档中找不到这个,所以没有链接
是的,我有一个类似的问题...我的解决方法是设置 'SUPPORTS_TRANSACTIONS': True 对于设置文件中的每个数据库连接。不确定这是否是修复它的正确方法,但它对我有用。
| 归档时间: |
|
| 查看次数: |
3415 次 |
| 最近记录: |