我有2个站点:A和B. A依赖于B中的一些表,因此它的DATABASES
设置中有一个条目,指向B以及DATABASE_ROUTERS
设置下的某些条目以路由某些模型访问B的数据库。
现在我正在尝试在A上编写测试,但只是运行manage.py test
会立即失败,因为A的某些模型依赖于来自B的表覆盖的某些模型,而B的完整数据库表尚未创造了。
所以我的问题是,如何在B上针对B的测试数据库调整我的TEST_RUNNER
首次运行syncdb
,这样当我在A上运行manage.py test
时,它可以找到来自B它依赖吗?
我希望这是有道理的。
答案 0 :(得分:0)
如果测试不能将所有数据都放在一个数据库中(例如,测试的路由器设置不同),那么您应该考虑创建自己的TEST_RUNNER
。也许this会指出你正确的方向!
答案 1 :(得分:0)
我终于让测试运行了,这就是我所做的:
DATABASE_ROUTERS
设置DATABASES
设置中维护B别名,但名称与A INSTALLED_APPS
INSTALLED_APPS