我无法在其他任何地方找到答案。
我正在尝试对我的项目运行单元测试,该项目使用South进行模式迁移。我已在设置中设置了SOUTH_TESTS_MIGRATE = False。但是,当我运行单元测试时,我得到关于表缺失的错误。
根据我对Django DiscoverRunner的理解,应该(根据Django 1.6文档)在创建测试数据库后运行syncdb。但是,我没有看到这种情况发生。此外,我甚至没有在Django测试代码中看到任何对syncdb或甚至'sync'的引用。我看到的唯一参考是post_syncdb信号。
有没有人在运行Django测试时遇到syncdb没有运行的问题? 或者有人知道在Django代码库中它应该在测试期间运行syncdb,因为我找不到它。
谢谢!
答案 0 :(得分:1)
找到解决方案。这与测试套件完全无关。
我的项目中有一个自定义数据库路由器,正在使用:
def allow_syncdb(self):
return False