I'm new to the django world. Running some tutorial apps, and when running python manage.py test i'm getting a failure saying that the table already exists. I'm not sure what is going on. I am also running south, and I got n开发者_开发问答o errors when migrating the schema.
Any insight is greatly appreciated.
TIA Joey
It might be an error in one of your south migrations. You don't see the problem on the real db because the migration has been executed (with the--fake option maybe)
You can try to recreate the db from scracth and see if it works.
You can also disable South for unit-tests by adding SOUTH_TESTS_MIGRATE = False
in your settings.py. With this option a regular syncdb will be done to create the test database. It will also speed the testing process.
I hope it helps
This also happened to me with a legacy code but for another reason.
I had two models with db_table referencing the same db table. I know that is stupid, but it's not my fault )
And I never found anything on the internet that could help me. I was saved by verbosity set to 3 (manage.py test -v 3) Hope this helps anyone.
class Bla1(Model):
some_column = ...
class Meta:
db_table = 'some_table'
class Bla2(Model):
some_column = ...
class Meta:
db_table = 'some_table'
and if you are testing with nose:
DST_RUN_SOUTH_MIGRATIONS = False
This happens also with Nose when
--cover-package=userdata,incorrectname
One of package's name is incorrect
You have to similar models, check it
精彩评论