看一下由Bernie Sumption发布到Django开发人员邮件列表的解决方法:
如果尚未运行makemigrations,则“ migrate”命令会将应用程序视为未迁移,并直接从模型中创建表,就像syncdb在1.6中所做的那样。我为单元测试定义了一个新的设置模块,名为“ settings_test.py”,该模块从主设置模块导入*并添加以下行:
MIGRATION_MODULES = {“ myapp”:“ myapp.migrations_not_used_in_tests”}
然后我运行如下测试:
DJANGO_SETTINGS_MODULE =“ myapp.settings_test” python manage.py测试
傻瓜会迁移到认为该应用程序未迁移的状态,因此每次创建测试数据库时,它都会反映出models.py的当前结构。
在Django 1.9中,这种情况有所改善,你可以将值设置为
None:
MIGRATION_MODULES = {“ myapp”:无}



