django - "manage.py test" 失败 "表已存在
我刚接触django这个框架。现在在运行一些教程里的应用程序,当我执行命令python manage.py test时,出现了一个错误,提示说表已经存在。我不太明白这是怎么回事。我还在使用south这个工具,迁移数据库结构的时候没有出现任何错误。
如果有人能给点建议,我会非常感激。
谢谢!
乔伊
5 个回答
0
如果你在用nose进行测试的话:
DST_RUN_SOUTH_MIGRATIONS = False
3
我也遇到过类似的情况,不过原因不太一样。
我有两个模型,它们都指向同一个数据库表。虽然我知道这样做很傻,但这不是我的错哦)
我在网上找了很久也没找到任何能帮我的东西。最后我通过把详细程度设置为3(manage.py test -v 3)才解决了问题。
希望这能帮到其他人。
class Bla1(Model):
some_column = ...
class Meta:
db_table = 'some_table'
class Bla2(Model):
some_column = ...
class Meta:
db_table = 'some_table'
15
可能是你某个南方迁移(south migration)出错了。你在真实数据库中看不到问题,因为这个迁移已经执行过了(可能是用--fake选项执行的)。
你可以尝试从头开始重新创建数据库,看看这样是否能解决问题。
你还可以通过在settings.py文件中添加 SOUTH_TESTS_MIGRATE = False
来禁用南方迁移,这样在进行单元测试时会使用普通的syncdb来创建测试数据库。这也会加快测试的速度。
希望这些能帮到你。