Sim*_*mon 6 migration django nose django-south
让我的django测试正常运行我遇到了一些困难; 我正在使用nose,并且在应用迁移时我开始收到错误,从表1到表2的外键关系失败并出现错误:
django.db.utils.DatabaseError: relation "table2_column" does not exist
Run Code Online (Sandbox Code Playgroud)
看一下迁移的应用方式,我很清楚table1是在应用外键关系之前没有创建的,所以我试图找出如何强制依赖,并找到以下文章: http:// south.aeracode.org/docs/dependencies.html
然后我补充说:
depends_on = (
("app2", "0001_inital"),
)
Run Code Online (Sandbox Code Playgroud)
到我的app1/0001_initial.py文件.
不幸的是现在我收到以下错误:
south.exceptions.DependsOnUnknownMigrationMigration 'app1:0001_initial' depends on unknown migration 'app2:0001_inital'.
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?
gla*_*xly 19
我不确定这是否可以解决您的问题,但您可以添加设置以在运行测试时使用syncdb而不是迁移.将以下行添加到settings.py中
SOUTH_TESTS_MIGRATE = False
Run Code Online (Sandbox Code Playgroud)
小智 5
你的迁移名称中有一个拼写错误.它应该是:
depends_on = (
("app2", "0001_initial"),
)
Run Code Online (Sandbox Code Playgroud)
这个依赖系统对我有用,在你在这里列出完全相同的问题之后,然后找到依赖系统South的文档.